<p>What's the best way to extend the User model (bundled with Django's authentication app) with custom fields? I would also possibly like to use the email as the username (for authentication purposes).</p>

<p>I've already seen a <a href="http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/" rel="noreferrer">few</a> <a href="http://www.b-list.org/weblog/2006/jun/06/django-tips-extending-user-model/" rel="noreferrer">ways</a> to do it, but can't decide on which one is the best.</p>

There is an official recommendation on
storing additional information about users
.
The Django Book also discusses this problem in section
Profiles
.