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字符串处理之count()方法的使用
May 18 Python
Python计算斗牛游戏概率算法实例分析
Sep 26 Python
PyQt5 pyqt多线程操作入门
May 05 Python
Python实现程序判断季节的代码示例
Jan 28 Python
python 堆和优先队列的使用详解
Mar 05 Python
python 实现检验33品种数据是否是正态分布
Dec 09 Python
TensorFlow内存管理bfc算法实例
Feb 03 Python
解决paramiko执行命令超时的问题
Apr 16 Python
Django model.py表单设置默认值允许为空的操作
May 19 Python
Pymysql实现往表中插入数据过程解析
Jun 02 Python
python代码区分大小写吗
Jun 17 Python
Python环境搭建过程从安装到Hello World
Feb 05 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 根据IP地址控制访问的代码
2010/04/22 PHP
destoon复制新模块的方法
2014/06/21 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
js实现开关灯效果
2020/03/30 Javascript
详解Vue.js 可拖放文本框组件的使用
2021/03/03 Vue.js
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
初步解析Python中的yield函数的用法
2015/04/03 Python
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
对numpy中向量式三目运算符详解
2018/10/31 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
将pip源更换到国内镜像的详细步骤
2019/04/07 Python
python 实现按对象传值
2019/12/26 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
Python序列化pickle模块使用详解
2020/03/05 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
幼儿园中班下学期评语
2014/04/18 职场文书
实习评语大全
2014/04/26 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js
python APScheduler执行定时任务介绍
2022/04/19 Python
Golang gRPC HTTP协议转换示例
2022/06/16 Golang