Do you and should you rename a custom User model in Django 1.9?
<p>I am creating a new User model for my Django project. I have been many people calling their custom user model, XXXUser and custom user manager, XXXUserManager.  </p>

<p>I was wondering if there is a reason for this.  Can you just create a custom user and still call it User?  Does this create conflicts in the code?</p>

<p>If you want custom user models then take a look at subclassing either <code>AbstractUser</code> or <code>AbstractBaseUser</code> detailed in the documentation here <a href="https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#extending-django-s-default-user" rel="nofollow">https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#extending-django-s-default-user</a></p>

<p>You can then do something like the following:</p>

<pre><code>from django.contrib.auth.models import AbstractUser
from django.db import models
from django.utils.translation import ugettext_lazy as _

class KarmaUser(AbstractUser): 
    karma = models.PositiveIntegerField(verbose_name=_("karma"), default=0, blank=True)

# Inside project/settings.py
AUTH_USER_MODEL = "profiles.KarmaUser"
</code></pre>

<p>You could also create your own completely seperate model and tie it back to the user with a one-to-one relationship</p>

python django django-admin django-1.9