Django 解决新建表删除后无法重新创建等问题


Posted in Python onMay 21, 2020

起因

同步表的过程中,我手动将数据库中的一个表删除了,此时再去执行命令,发现不能再数据库中新建表了

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

No changes detected

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

删除表以后执行:

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~/code/django/blogproject /code/django/blogproject python3 manage.py makemigrations comments
Migrations for ‘comments':
comments/migrations/0001_initial.py
- Create model Comment
 /code/django/blogproject~/code/django/blogproject /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.
···

二、删除app下面目录migrations下面除了init.py其他的所有文件

三、最后,删除migrations中关于你的app的同步数据数据库记录

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 解决新建表删除后无法重新创建等问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python  连接字符串(join %)
Sep 06 Python
用Python程序抓取网页的HTML信息的一个小实例
May 02 Python
Python备份目录及目录下的全部内容的实现方法
Jun 12 Python
Python判断两个对象相等的原理
Dec 12 Python
python3获取两个日期之间所有日期,以及比较大小的实例
Apr 08 Python
对pandas中Series的map函数详解
Jul 25 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
详解python中docx库的安装过程
Nov 08 Python
Tensorflow累加的实现案例
Feb 05 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
python如何导入依赖包
Jul 13 Python
PyQt5结合matplotlib绘图的实现示例
Sep 15 Python
python 解决Fatal error in launcher:错误问题
May 21 #Python
django实现日志按日期分割
May 21 #Python
Django之富文本(获取内容,设置内容方式)
May 21 #Python
使用Python防止SQL注入攻击的实现示例
May 21 #Python
Django的ListView超详细用法(含分页paginate)
May 21 #Python
Django中FilePathField字段的用法
May 21 #Python
Django 解决上传文件时,request.FILES为空的问题
May 20 #Python
You might like
PHP的autoload机制的实现解析
2012/09/15 PHP
php MessagePack介绍
2013/10/06 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
Laravel框架实现文件上传的方法分析
2019/09/29 PHP
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
2021/03/09 Javascript
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
js实现图片轮播效果
2015/12/19 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
jquery图片放大镜效果
2017/06/23 jQuery
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
JavaScript面试出现频繁的一些易错点整理
2018/03/29 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
2018/05/10 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
python中的对象拷贝示例 python引用传递
2014/01/23 Python
Python Deque 模块使用详解
2014/07/04 Python
tensorflow 打印内存中的变量方法
2018/07/30 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
Python是如何进行类型转换的
2013/06/09 面试题
高中生自我评价个人范文
2013/11/09 职场文书
我的大学生活职业生涯规划
2014/01/02 职场文书
大学生会计职业生涯规划范文
2014/02/28 职场文书
地球一小时活动总结
2015/02/27 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript
apache ftpserver搭建ftp服务器
2022/05/20 Servers