title: Extending User object in Django: User model inheritance or use UserProfile?
body: <p>To extend the User object with custom fields, the Django docs recommend using <a href="http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users" rel="nofollow noreferrer">UserProfiles</a>. However, according to <a href="https://stackoverflow.com/questions/44109/extending-the-user-model-with-custom-fields-in-django/44178#44178">this</a> answer to a question about this from a year or so back:</p>
  
  <blockquote>
    <p>extending django.contrib.auth.models.User also works better now -- ever since the refactoring of Django's inheritance code in the models API.</p>
  </blockquote>
  
  <p>And articles such as <a href="http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/" rel="nofollow noreferrer">this</a> lay out how to extend the User model with custom fields, together with the advantages (retrieving properties directly from the user object, rather than through the .get_profile()). </p>
  
  <p>So I was wondering whether there is any consensus on this issue, or reasons to use one or the other. Or even what the Django team currently think?</p>