Hey,
Thanks for the reply. The book was released in March 2015 and I am sure the authors would've known about the custom user models. It has some very good suggestions (For intermediate django devs like me at least), though yeah, this abstract model inheritance idea did seem a little troubling to me too.
I finally ended up creating a single profile with a `user_type` field dictating which kind of user this was. And I created a json field to store all the relevant details of this user.
I think I could get away with it because in my case all of these fields are primarily for information and I don't need to search/index by them (which would've been a pain since I couldn't query them).
One of the reasons why I avoided the custom user model was because most blogs discourage the idea (mainly because of troubles with integrating with other apps). I will rethink my approach given your suggestion though.
Have you tried the custom user model with multiple one-to-one profiles approach anywhere till date? How do you handle registration in that case? Eg: Teacher signup form would be different from student signup form. So have you over-ridden the registration view and then create the profile based on other form parameters? I am planning to do this only but would love to know how others have done this already.
One more thing I realized : Django doesn't have a good registration app that can handle such multiple profiles, registrations and workflows. Eg: What if I want students to be able to login directly/after email verifications but teachers need to fill in their profile and wait for admin approval before they can proceed.
Seems weird as the requirement would be valid for a lot of websites nowdays. Or is there a good alternative I am missing out on?