这个错误基本上都是 替换文件后才会出现的问题

因为你替换后他的日志文件没有完全替换的话,那么日志对应不到就会出现这样的问题,

一个模糊的处理办法:重新进行数据迁移:首先删除migrations中除去__init__.py的是所有文件,

这些都是基本数据迁移后的数据库文件,之后重新数据迁移,

python manage.py makemigrations

python manage.py migrate

之后就没问题了,

ps: python manage.py makemigrations 这种命令形式 是因为虚拟环境的创建不够完善导致的编译器是环境外的编译器,

所以在交互式环境下命令时就必须是标准的python命令,如果虚拟环境是完整的那么,命令格式如下:

./manage.py makemigratins

与之相同的有

./manage.py runserver

但是在未正式发布的情况下还是用环境外的编译器,环境内的只需要跟上版本配置就行了,在正式发布前一刻在用环境内的进行测试,

这样很多第三方库的容错性问题就会提前在环境外解决,不会因为第三方库的容错问题而导致的上线延迟。

还有的处理方法是(阅读代码能力不强建议不这样做,建议很闲的人可以这样做,很费时间和心态):

阅读库文件  虽然库文件内容很多,但是逻辑非清晰,开始很难读但一旦熟悉了库文件内容,对于后期的维护会非常有帮助,

主要需要注意容易出问题的地方model层的库文件(报错率相对最高),

因为库文件的问题报错基本很相似所以非常考验阅读代码的能力,

在Django中可以锻炼我们很多东西,阅读源文件能力,逻辑能力 ,Debug能力,以及项目维护能力。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Django 默认的是SQLite3数据库这个数据库最好只用于小量的上线前单元测试的测试 :

因为,SQLite3在于python的沟通很方便也很快捷,所以在测试上很方便,但是最好不要进行高并发等的测试也不要进行大数据的测试,

如果要进行大量的测试最好用Mysql等关系型数据库,因为关系映射的原因所以关系型数据库也用的最多。

下面进行库文件的介绍。

Django库文件的创建方法,

  1.在django终端进行插入:

    数据库表创建完成之后,在pycharm的terminal中输入python manage.py shell 然后就会进入InteractiveConsole,之后可以在下面输入命令,在数据库表中添加数据。

  2.在views.py中创建:

    views.py完成url与模板的交互,在views中可以接受前端的数据,然后在views中通过命令进行添加到数据库表中,基本命令都一样。

  3.在可视化工具中进行直接添加:

    django默认采用的是sqlite3数据库,可以使用SQLiteStudio打开数据库表进行直接添加。

  4.在工程中再创建一个脚本,运行脚本进行添加(用以批量添加),类似方法和在views中添加是一样的。

    get_or_create()方法可以避免在批量添加时,出现数据的重复添加创建。

Django引入现有数据库:

Django引入外部数据库还是比较方便的,步骤如下:

1.创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致。

2.运行下面代码可以自动生成models模型文件
python manage.py inspectdb
这样就可以在命令行看到数据库的模型文件了

3.把模型文件导入到app中

4.创建一个app
django-admin.py startapp app
python manage.py inspectdb > app/models.py

python manage.py migrate

django.db.migrations.exceptions.BadMigrationError: Migration tests in app bl的更多相关文章

  1. 使用django执行数据更新命令时报错:django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.00 01_initial on database 'default'.

    如果在重新封装更新用户表之前,已经更新了数据表,在数据库中已经有了django相关的依赖表,就会报错: django.db.migrations.exceptions.InconsistentMigr ...

  2. django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applie

    Traceback (most recent call last): File "manage.py", line 15, in <module> execute_fr ...

  3. 替换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 applie ...

  4. 报错django.db.migrations.exceptions.InconsistentMigrationHistory

    Pycharm强大的功能总是让我很是着迷,比如它的makemigrations 和 migrate. 然而某一次,当我再次敲下这熟悉的命令时,它报错了.... Traceback (most rece ...

  5. 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.excep ...

  6. Django db relationship

    # coding=utf-8 from django.db import models """ Django数据库关系: 一对一关系:OneToOneField 多对多关 ...

  7. django.db.utils.ProgrammingError: 1146 的解决办法

    在models中设置完数据库相关的东西后执行命令 python manage.py makemigrations 此处无错误 再次执行 python manage.py migrate 发生报错 错误 ...

  8. DB Migrations更新数据库命令

    在项目迭代的过程中,数据库结构常常需要跟随业务需求的变化做出调整,尤其在迭代的初期阶段,加一个字段减一个字段的需求更是家常便饭.在小型团队中,往往是负责开发功能模块的程序员在完成本地开发环境数据库的变 ...

  9. 迁移文件是报错 django.db.utils.InternalError: (1054, "Unknown column 'name' in 'django_content_type'")

    相信大家在做django迁移时有可能会遇到这样的错误- django.db.utils.InternalError: (1054, “Unknown column ‘name’ in ‘django_ ...

随机推荐

  1. Spring相关概念

    DIP: Dependency Inversion Principle.翻译过来是依赖反转原则,也叫依赖倒置原则. 依赖倒置原则是设计模式几个重要原则之一.具体定义就是,底层模块依赖高层模块定义的接口 ...

  2. Django-ORM和MySQL事务及三大范式介绍

    Django中操作操作数据库这里需要改一个数据: 模型层:就是与跟数据库打交道 ORM查询: 一.单表操作必知必会13条: orm默认都是惰性查询: 1.all() 查询所有 2.filter() 筛 ...

  3. Acwing-119-袭击(分治)

    链接: https://www.acwing.com/problem/content/121/ 题意: 在与联盟的战斗中屡战屡败后,帝国撤退到了最后一个据点. 依靠其强大的防御系统,帝国击退了联盟的六 ...

  4. 编程语言类别;运行Python程序的方式;变量和常量;Python程序的垃圾回收机制;

    目录 编程语言分类 运行Python程序的两种方式 1.交互式 变量与常量 1.变量 2.常量 3.小整数池 垃圾回收机制 编程语言分类 编程语言分为: 1.机器语言:直接用二进制的0和1和计算机(C ...

  5. VAssistX 常用快捷键

    函数跳转 Alt + G - 函数定义和声明的跳转Alt + O - 在.h与.cpp文件中实现相互转换Alt + M - 列出当前文件所有的函数Ctrl + Tab - 切换标签 查找 Ctrl + ...

  6. python连接mysql操作(1)

    python连接mysql操作(1) import pymysql import pymysql.cursors # 连接数据库 connect = pymysql.Connect( host='10 ...

  7. 二分mid的取法

    二分的两种形式: 1.范围缩小时,r = mid,l = mid + 1,取中间值时,mid = (l + r) >> 1. 2.范围缩小时,l = mid,r = mid - 1,取中间 ...

  8. APUE学习之进程控制 - fork 与 vfork

    最后编辑: 2019-11-6 版本: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 一.进程标识 每一个进程都有一个唯一的非 ...

  9. mysql 链接数满了的错误 ERROR 1040 (HY000): Too many connections

    mysql 链接数满了的错误 ERROR 1040 (HY000): Too many connections 第一种处理方式: ./mysql -u root -p 登录成功后执行以下语句查询当前的 ...

  10. eclipse内存溢出 参数配置

    http://blog.csdn.net/liuhenghui5201/article/details/50783444