解决Django migrate No changes detected 不能创建表的问题


Posted in Python onMay 27, 2018

起因

修改了表结构以后执行python3 manage.py migrate 报错:

django.db.utils.OperationalError: (1091, "Can't DROP 'email'; check that column/key exists")

所以进数据库把对应的表删除了,想着重新生成这张表.

删除表以后执行:

python3 manage.py makemigrations
python3 manage.py migrate

还是不能生成表,提示:No changes detected

处理过程

首先删除了app对应目录下的数据库对应的文件和缓存文件:

$ rm -rf migrations/ __pycache__/

重新执行:

$ python3 manage.py makemigrations
No changes detected
$~/code/django/blogproject$ python3 manage.py makemigrations comments
Migrations for 'comments':
 comments/migrations/0001_initial.py
 - Create model Comment
$~/code/django/blogproject$ python3 manage.py migrate
Operations to perform:
 Apply all migrations: admin, auth, blog, comments, contenttypes, sessions, users
Running migrations:
 No migrations to apply.

进入数据库发现仍然没有生成表.

然后发现有一张django_migrations表,里面记录这有关创建表的记录,删除对应的数据表:

delete from django_migrations where app='yourappname';

重新执行生成数据库命令:

$ python3 manage.py makemigrations comments
No changes detected in app 'comments'
$~/code/django/blogproject$ python3 manage.py migrate comments
Operations to perform:
 Apply all migrations: comments
Running migrations:
 Applying comments.0001_initial... OK

数据表顺利生成.

结论

在执行

python3 manage.py makemigrations python3 manage.py migrate

操作的时候,不仅会创建0001_initial.py对应的模型脚本,还会创建一个数据库记录创建的模型.如果想重新生成数据库,需要两个地方都做删除.

以上这篇解决Django migrate No changes detected 不能创建表的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用glob和rmtree删除目录子目录及所有文件的例子
Nov 21 Python
python实现根据窗口标题调用窗口的方法
Mar 13 Python
八大排序算法的Python实现
Jan 28 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
Python延时操作实现方法示例
Aug 14 Python
Python读写zip压缩文件的方法
Aug 29 Python
python 获取等间隔的数组实例
Jul 04 Python
pycharm设置鼠标悬停查看方法设置
Jul 29 Python
Django restframework 框架认证、权限、限流用法示例
Dec 21 Python
Python 文件数据读写的具体实现
Jan 24 Python
django实现更改数据库某个字段以及字段段内数据
Mar 31 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
django 在原有表格添加或删除字段的实例
May 27 #Python
用python写扫雷游戏实例代码分享
May 27 #Python
和孩子一起学习python之变量命名规则
May 27 #Python
儿童学习python的一些小技巧
May 27 #Python
django初始化数据库的实例
May 27 #Python
django 删除数据库表后重新同步的方法
May 27 #Python
Django 根据数据模型models创建数据表的实例
May 27 #Python
You might like
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
js封装成插件_Canvas统计图插件编写实例
2017/09/12 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
使用Vue.observable()进行状态管理的实例代码详解
2019/05/26 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
JS如何生成动态列表
2020/09/22 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
python中abs&map&reduce简介
2018/02/20 Python
python 整数越界问题详解
2019/06/27 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
现场施工员岗位职责
2014/03/10 职场文书
《爱如茉莉》教后反思
2014/04/12 职场文书
体育教师个人总结
2015/02/09 职场文书
小学科学课教学反思
2016/02/23 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis
欧元符号 €
2022/02/17 杂记