替换django的user模型出现的异常django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.
程序员文章站
2022-06-21 16:19:39
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on data ......
django.db.migrations.exceptions.inconsistentmigrationhistory: migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default'
百度上的大部分解决方案:
方案1、删除数据库中 除了auth_user的其他表,然后重新来一次
大概原因是因为admin的模型依赖了之前默认的user模型吧
方案2:如果方案一不行,可以直接删除db.sqlite3,然后再migrate,就可以了。会自动生成一个新的数据库。
ps:如果已经有很多user数据了,可以复制出来auth_user表,然后再覆盖。
我遇到的情况,是2个方案都不行,我的项目用了数据库路由,不知道是不是这个原因引起的,不管是因为什么,总之是2中方案都不行。
最后我的解决方法是:1、先新建个项目,把usermodel都复制过去,然后执行方案2,这样就得到了需要的扩展user表。
2、然后把新建项目的db.sqlite3拿过来覆盖现在的项目,这样得到的数据库中,会缺少数据库路由中生成的表,最后,重新migrate一下,就会生成缺少的表。
解决问题。
推荐阅读
-
替换django的user模型出现的异常django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.
-
替换django的user模型出现的异常django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.