欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

替换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一下,就会生成缺少的表。

解决问题。