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使用MD5加密字符串示例
Aug 22 Python
Python 正则表达式(转义问题)
Dec 15 Python
python计算圆周率pi的方法
Jul 11 Python
两个命令把 Vim 打造成 Python IDE的方法
Mar 20 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 Python
Python采用Django制作简易的知乎日报API
Aug 03 Python
Python实现视频下载功能
Mar 14 Python
django站点管理详解
Dec 12 Python
Python利用openpyxl库遍历Sheet的实例
May 03 Python
python操作kafka实践的示例代码
Jun 19 Python
python实现从尾到头打印单链表操作示例
Feb 22 Python
virtualenv介绍及简明教程
Jun 23 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环境无法上传文件的解决方法
2014/04/30 PHP
PHP连接access数据库
2015/03/27 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
js Event对象的5种坐标
2011/09/12 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
Javascript读写cookie的实例源码
2019/03/16 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
Python反射用法实例简析
2017/12/22 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
selenium携带cookies模拟登陆CSDN的实现
2021/01/19 Python
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
英国时尚首饰品牌:Missoma
2020/06/29 全球购物
触电现场处置方案
2014/05/14 职场文书
服装发布会策划方案
2014/05/22 职场文书
工作态度不好检讨书
2015/05/06 职场文书
大学入学感言
2015/08/01 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android
springcloud整合seata
2022/05/20 Java/Android