On Thu, Jun 20, 2013 at 4:16 AM, Evan Stone <[email protected]> wrote:

> Sure thing. Here are the snippets that gave me pause:
>
> "Think carefully before handling information not directly related to
> authentication in your custom User Model.
>
> It may be better to store app-specific user information in a model that
> has a relation with the User model. That allows each app to specify its own
> user data requirements without risking conflicts with other apps...."
>
> along with
>
> "One limitation of custom User models is that installing a custom User
> model will break any proxy model extending 
> User<https://docs.djangoproject.com/en/1.5/ref/contrib/auth/#django.contrib.auth.models.User>.
> ..."
>
> and
>
> "Another limitation of custom User models is that you can’t use
> django.contrib.auth.get_user_model()<https://docs.djangoproject.com/en/1.5/topics/auth/customizing/#django.contrib.auth.get_user_model>
>  as
> the sender or target of "
>
>
> Thanks for giving those details. I've opened ticket #20629 [1] to track
this problem -- hopefully we can get this documentation cleaned up so we
don't scare others in the future.

[1] https://code.djangoproject.com/ticket/20629

By way of explanation:

Points 1 and 2 are asking you to consider an architectural question -- do
you need a custom user model at all? If you actually *are* using a
username-based login system, and you just want to track some extra
information about the user, the right approach may *not* be to create a
custom user model.

Points 3 and 4 are pointing out known limitations. Proxy models are a
problem because they use subclassing, and they will be subclassing the
wrong class; signals are a problem because at the point the signal is
registered, there's no guarantee that the User model has been correctly
defined. There's not much we can do about (3); (4) is something that should
get cleaned up when we eventually land app refactor.

Yours,
Russ Magee %-)

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to