Migrating from django user model to a custom user model

1,240 views
Skip to first unread message

Kakar Nyori

unread,
Mar 14, 2017, 11:42:34 PM3/14/17
to Django users

I am following these two references (one and two) to have a custom user model in order to authenticate via email and also to add an extra field to it.


class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(
        unique=True,
        max_length=254,
    )
    mobile_number = models.IntegerField(unique=True)
    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)

    objects = UserManager()
    ...
    ...    
    class Meta:
        db_table = 'auth_user'
    ...
    ...


As you can see, I have added the db_table='auth_user' into the Meta fields of the class. Also, I have included AUTH_USER_MODEL = 'accounts.User' and the User model app (i.e., accounts) into the INSTALLED_APPS in settings.py. Further more, I deleted the migrations folder from the app.


Then tried migrating:

$ python manage.py makemigrations accounts
Migrations for 'accounts':
  accounts/migrations/0001_initial.py:
    - Create model User

$ python manage.py migrate accounts

Which gives me an error:

django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency accounts.0001_initial on database 'default'.

How can I migrate from the existing django user model into a custom user model? Could you guys please help me out.


Thank you

Tim Graham

unread,
Mar 15, 2017, 7:46:11 AM3/15/17
to Django users
You can find an overview of how to migrate to a custom user model in https://code.djangoproject.com/ticket/25313.
Reply all
Reply to author
Forward
0 new messages