替换django的user模型出现的异常django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.00

Posted 和与度

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了替换django的user模型出现的异常django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.00相关的知识,希望对你有一定的参考价值。

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.00的主要内容,如果未能解决你的问题,请参考以下文章

djang项目中的疑问及解决办法(ValueError: Invalid model reference 'apps.user.User'. String model referenc

django xadmin拓展User模型

遍历模型字段 - Django

Django:模型(model)和数据库(mysql)

Djang DJANGO_SETTINGS_MODULE

Django框架-- Djang与Ajax