I want the exact same behaviour as django.contrib.auth.User but I need to extend the model with some user preferences and profile specific fields.
I know I could eventually make two new models which could be
class Profile(models.Model):
user = OneToOneField(User)
age = SmallPositiveIntegerField()
and
class Preference(models.Model):
user = OneToOneField(User)
background_color = CharField(max_length=6)
I don't know if it's smart to separate these things.
But I want to retrieve the user preferences on each page and if I use this approach by extending the User model with an OneToOneField it costs another sql query for each time I get user.preference.background_color.
I think it might be overkill to substitute the User model (or what) so what can I do?
Will proxy models be the answer?