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

解决问题。

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

原文地址:https://www.cnblogs.com/eagleow/p/12132325.html

时间: 2024-10-15 11:24:16

替换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.MigrationSchemaMissing和raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

1.使用Python3.7 + Django2.2 + MySQL 5.5 在执行(python manage.py migrate)命令时出现错误django.db.migrations.exceptions.MigrationSchemaMissing 原因是 所以,需要重新安装高版本的sql,安装好之后,问题就解决了 2.Django数据同步过程中遇到的问题: 1)raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is requ

Django中ORM模型总结(二)[模型类的对应关系,模型类的属性,字段类型]

模型类的对应关系 多对多 创建模型类----->新闻类型类 class TypeInfo(models.Model): """创建新闻模型类""" tname = models.CharField(max_length=20) 创建模型类----->新闻内容类 class NewInfo(models.Model): """闯将新闻内容类""" ntitle = models

django -2 ORM模型

ORM简介 MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库 ORM是"对象-关系-映射"的简称,主要任务是: 根据对象的类型生成表结构 将对象.列表的操作,转换为sql语句 将sql查询到的结果转换为对象.列表 这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 Django中的模型包含存储数据的字段和约束,对应着数据库中唯一的表 使用MySql数据库 在虚拟环

Django中ORM模型的总结

模型类的对应关系 多对多 创建模型类----->新闻类型类 class TypeInfo(models.Model): """创建新闻模型类""" tname = models.CharField(max_length=20) 创建模型类----->新闻内容类 class NewInfo(models.Model): """闯将新闻内容类""" ntitle = models

Django学习【第1篇】:Django之MTV模型

Django框架第一篇基础 一个小问题: 什么是根目录:就是没有路径,只有域名..url(r'^$') 补充一张关于wsgiref模块的图片 一.MTV模型 Django的MTV分别代表: Model(模型):和数据库相关的,负责业务对象与数据库的对象(ORM) Template(模板):放所有的html文件 模板语法:目的是将白变量(数据库的内容)如何巧妙的嵌入到html页面中 View(视图):负责业务逻辑,并在适当的时候调用Model和Template 此外,Django还有一个URL分发

django框架之模型

ORM简介 ORM,全拼Object-Relation Mapping,中文意为对象-关系映射,是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统.对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据.内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系.因此,对象-关系映射ORM系统一般以中间件的形式存在,主

django框架的模型类定义及操作

在settings.py中保存了数据库的连接配置信息,Django默认初始配置使用sqlite数据库. 使用MySQL数据库首先需要安装驱动程序 pip install PyMySQL 在Django的工程同名子目录的__init__.py文件中添加如下语句 from pymysql import install_as_MySQLdb install_as_MySQLdb() 作用是让Django的ORM能以mysqldb的方式来调用PyMySQL. 修改DATABASES配置信息 DATABA

Django 重写用户模型

目录 Django 重写用户模型 修改配置文件,覆盖默认的User模型 引用User模型 指定自定义的用户模型 Django 期望你自定义的 User model 满足一些最低要求: 下面为一些AbstractBaseUser的子类必须定义的关键的字段和方法: 下面为一些AbstractBaseUser的子类可以使用的方法: 为你的User模型自定义一个管理器 扩展Django默认的User 自定义用户与内置身份验证表单 自定义用户和django.contrib.admin 自定义用户和权限 如

python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API

python  Django教程  之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用. 本节的代码:(Django 1.6, Python 2.7 测试环境) 大