替换django的user模型出现的异常django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default'

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

解决问题。

posted @ 2020-01-02 12:47  张和  阅读(1738)  评论(0编辑  收藏  举报