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批量修改文件后缀示例代码分享
Dec 24 Python
Python常用模块用法分析
Sep 08 Python
Python的Django框架中的表单处理示例
Jul 17 Python
python如何去除字符串中不想要的字符
Jul 05 Python
用Python实现读写锁的示例代码
Nov 05 Python
Python版名片管理系统
Nov 30 Python
Django ORM 聚合查询和分组查询实现详解
Aug 09 Python
Python 实用技巧之利用Shell通配符做字符串匹配
Aug 23 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
Oct 12 Python
Win10下python 2.7与python 3.7双环境安装教程图解
Oct 12 Python
python中的django是做什么的
Jul 31 Python
Python sklearn分类决策树方法详解
Sep 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
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
php实现以只读方式打开文件的方法
2015/03/16 PHP
PHP 错误处理机制
2015/07/06 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
JS定义回车事件(实现代码)
2013/07/08 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
简介Python中用于处理字符串的center()方法
2015/05/18 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
怎样写留学自荐信
2013/11/11 职场文书
求职简历自荐信
2014/06/18 职场文书
MySQL一些常用高级SQL语句
2021/07/03 MySQL
关于python爬虫应用urllib库作用分析
2021/09/04 Python
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis