Dajngo扩展用户模型时报错:django.db.migrations.exceptions.InconsistentMigrationHistory解决办法

一.报错信息

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

这是表示有一个叫reversion的子应用使用了原来的废弃的users模型,但是目前数据库已经设置了默认的子应用为users的模型了,所以产生了冲突。那么这种冲突,我们需要清除原来的迁移文件和数据库中的所有信息就可以解决了。

解决步骤:

  1. 备份数据库,删除关于用户原来的数据表信息和表结构[如果刚开始开发,则直接清除库中所有数据表即可。]
  2. 删除子应用users中migrations目录下除了__init__.py以外的所有迁移文件
  3. 删除在django.contrib.admin和django.contrib.auth模块里面的migrations迁移文件,除了__init__.py
  4. 删除在xadmin和reversion模块中的migrations的迁移文件,除了__init__.py。
  5. 执行数据迁移,把备份数据,除了用户以外的全部恢复执行即可。
  6. 使用manage.py createsuperuser创建管理员即可

结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39253370/article/details/106604724