django migrations 采坑

 


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

问题分析,在配置中设置了 AUTH_USER_MODEL = 'user.User' (应用名.模型类名),扩展django自带的user认证.由于不是项目的第一次迁移,所以会产生此问题,解决方案如下:


注释掉两个地方:
INSTALLED_APPS = [
...
#'django.contrib.admin',
...
]

path('admin/', admin.site.urls)

执行python manage.py migrate,解决! 取消注释后续makemigrations、migrate全部正常

 

 

初次格式化数据库表,出现:

ValueError: Related model 'users.UserProfile' cannot be resolved


这个问题一般发生在第一次同步数据库的时候
1.python manage.py makemigrations --empty users # 这个是为了防止忘记注册对应的app
2.python manage.py makemigrations # 整体makemigrations,确保没有错误
3.python manage.py migrate users #各个表之间存在外键关系,这里先单独同步users保证其他表同步的时候users表已经创建完成,可以找到对应的外键,这里设置外键多的表都单独同步一下
4.python manage.py migrate #整体同步

 

posted @ 2020-05-30 23:31  whitesky-root  阅读(91)  评论(0编辑  收藏