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基于sftp及rsa密匙实现远程拷贝文件的方法
Sep 21 Python
Python编程之event对象的用法实例分析
Mar 23 Python
Python实现mysql数据库更新表数据接口的功能
Nov 19 Python
Python中的探索性数据分析(功能式)
Dec 22 Python
Redis使用watch完成秒杀抢购功能的代码
May 07 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
pytorch实现建立自己的数据集(以mnist为例)
Jan 18 Python
python实现ftp文件传输系统(案例分析)
Mar 20 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
Python用Jira库来操作Jira
Dec 28 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
Dec 29 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书写安全的脚本代码
2012/02/05 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
PHP获取客户端及服务器端IP的封装类
2016/07/21 PHP
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
jQuery对表单的操作代码集合
2011/04/06 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
ECMAScript6 新特性范例大全
2017/03/24 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
详解Vue.js在页面加载时执行某个方法
2018/11/20 Javascript
Python正则表达式匹配HTML页面编码
2015/04/08 Python
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
python创建和删除目录的方法
2015/04/29 Python
Python输出9*9乘法表的方法
2015/05/25 Python
python实现linux下使用xcopy的方法
2015/06/28 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
Django 解决model 反向引用中的related_name问题
2020/05/19 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
Html5实现首页动态视频背景的示例代码
2019/09/25 HTML / CSS
《浅水洼里的小鱼》听课反思
2014/02/28 职场文书
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS
Java完整实现记事本代码
2022/06/16 Java/Android