I know it’s very standard to extend Django’s User class with your own UserProfile class that has a foreign key to User.
When I start building other classes that refers to “users”, should I have it point to User or UserProfile?
Conceptually it seems to make sense to point to User since that is the actual object and UserProfile is almost like the (extra) description for that User.
But in practicality, it also makes sense to point to UserProfile since it’s easier to get more user information (address, phone number, or whatever other custom fields you have).
What do you guys normally do?
Always
User. It’s illogically to tie something to aUserProfilewhich is abstract in meaning. A person, for example, is not a profile, they’re a user. It’s an instant WTF whenever I see someone creating a relationship toUserProfile.