我正在遵循这两个参考资料(one和two),以创建自定义用户模型,以便通过电子邮件进行身份验证,并添加一个额外的字段。
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'
...
...
正如你所看到的,我已将db_table='auth_user'
添加到类的元字段中。此外,我在settings.py
中将AUTH_USER_MODEL = 'accounts.User'
和用户模型应用程序(即accounts
)添加到了INSTALLED_APPS
中。此外,我还从应用程序中删除了迁移文件夹。
然后尝试进行迁移:
$ python manage.py makemigrations accounts
Migrations for 'accounts':
accounts/migrations/0001_initial.py:
- Create model User
$ python manage.py migrate accounts
这给了我一个错误:
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial 在其依赖 accounts.0001_initial 之前应用于数据库 'default'。
如何从现有的 Django 用户模型迁移到自定义用户模型?
django_migrations
表内的旧条目吗? - nik_mdjango_migrations
。这是否意味着要这样做User.objects.all().delete()
? - Kakar