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

起因

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

修改了表结构以后执行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 解决新建表删除后无法重新创建等问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • django 解决扩展自带User表遇到的问题

    首先要扩展自带的auth_user表我就放个图吧, 同时setting中应该设置: # 此处重载是为了使UserProfile生效 AUTH_USER_MODEL = "EcdsApp.UserProfile" 本人的项目需要对此表进行扩展,再建两个子表关联这个表,关联关系为一对一: 修改完成之后进行子表关联: from django.contrib.auth.models import AbstractUser, User from django.conf import settin

  • 完美解决Django2.0中models下的ForeignKey()问题

    Django2.0中编写models类下的ForeignKey book = models.ForeignKey('BookInfo') django2.0与之前的1.8不同, 错误: book = models.ForeignKey('BookInfo') TypeError: __init__() missing 1 required positional argument: 'on_delete' 解决方法: book = models.ForeignKey('BookInfo', on_

  • Django 创建/删除用户的示例代码

    示意图: html: {# 用户管理 #} <div id="userManageDiv" style="display: none;"> <div id="" style="margin-left: 10px;"> {# 创建用户 #} <h4 style="margin-top: 15px;">创建用户</h4> <hr style="ma

  • 解决Django migrate No changes detected 不能创建表的问题

    起因 修改了表结构以后执行python3 manage.py migrate 报错: django.db.utils.OperationalError: (1091, "Can't DROP 'email'; check that column/key exists") 所以进数据库把对应的表删除了,想着重新生成这张表. 删除表以后执行: python3 manage.py makemigrations python3 manage.py migrate 还是不能生成表,提示:No c

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

    起因 同步表的过程中,我手动将数据库中的一个表删除了,此时再去执行命令,发现不能再数据库中新建表了 修改了表结构以后执行python3 manage.py migrate 报错: No changes detected 所以进数据库把对应的表删除了,想着重新生成这张表. 删除表以后执行: python3 manage.py makemigrations python3 manage.py migrate 还是不能生成表,提示:No changes detected 处理过程 一.首先删除了app

  • 详解解Django 多对多表关系的三种创建方式

    目录 1.方式一:自动创建 2.方式二:纯手动创建 3.方式三:半自动创建 1.方式一:自动创建 # django orm 自动帮我们创建第三张表,我的app名字是app01, 表名为:app01_book_authors # 这种方式可以让Django迅速的帮我们建一张关系表出来,好处是可以通过这张表进行跨表查询,坏处是一张虚拟表,拓展性差. # 书籍表 class Book(models.Model): name = models.CharField(max_length=32) autho

  • android新建草稿删除后下次开机还会显示保存的草稿

    在ComposeMessageActivity.java里面修改 onShutDown()这个函数 在saveDraft(false)这句话那里添加判断条件 复制代码 代码如下: if (!mDestroy) { saveDraft(false) ;}

  • 解决django中form表单设置action后无法回到原页面的问题

    django中form表单设置action后,点提交按钮是跳转到action页面的,比如设置action为login,网址为192.168.1.128,跳转后便会来到192.168.1.128/login,F5刷新也会是重新提交表单对话框,无法回到原页面. 因此就要在django服务器进行重定向,具体就是 from django.shortcuts import redirect #最后返回原页面 return redirect(url) 补充知识:Django + Ajax发送POST表单,并

  • 解决Springboot项目启动后自动创建多表关联的数据库与表的方案

    熬夜写完,尚有不足,但仍在努力学习与总结中,而您的点赞与关注,是对我最大的鼓励! 在一些本地化项目开发当中,存在这样一种需求,即开发完成的项目,在第一次部署启动时,需能自行构建系统需要的数据库及其对应的数据库表. 若要解决这类需求,其实现在已有不少开源框架都能实现自动生成数据库表,如mybatis plus.spring JPA等,但您是否有想过,若要自行构建一套更为复杂的表结构时,这种开源框架是否也能满足呢,若满足不了话,又该如何才能实现呢? 我在前面写过一篇 Activiti工作流学习笔记(

  • Yii使用DeleteAll连表删除出现报错问题的解决方法

    本文实例讲述了Yii使用DeleteAll连表删除出现报错问题的解决方法.分享给大家供大家参考,具体如下: 删除数据的时候,经常会遇到连联判断删除数据的条件,今天用Yii 的CDbCriteria生成关连条件.批量删除的时候数据库报错. 页面代码为: $criteria=new CDbCriteria; $criteria->join = ' LEFT JOIN {{positions}} p ON p.zpo_id=t.zpo_id '; $criteria->addCondition(&q

  • 解决Tomcat重新部署后图片等资源被自动删除的问题

    昨天在实现图片上传并返回链接这个功能时.当项目重新部署到tomcat,之前上传的一些图片等资源被自动删除了. 原因是我把图片存到了target目录下,因为只有放到它下面才能简单的通过网页链接拿到图片. 比如上传后返回这个路径:http://localhost:8080/upload/images/timg.jpg 但是当项目重新部署的时候,target会被重新构建,target里面的资源也都会删除. (target是用来存放项目构建后的文件和目录.jar包.war包.编译的class文件.) 最

  • 解决antd 表单设置默认值initialValue后验证失效的问题

    方法一: getFieldDecorator没有第三个参数,如果写了3个参数就会出错 错误代码: <Form.Item> { getFieldDecorator('userName', { initialValue: 'Tom' },{ rules: [{ required: true, message: '请输入用户名', }], })( <Input placeholder='请输入用户名'/> ) } </Form.Item> 正确代码: <Form.Ite

  • django 解决manage.py migrate无效的问题

    问题描述: 已有的model,修改之后,想重新建模,于是将migrations文件夹中除__init__.py之外其他文件都删掉,再次执行以下步骤python manage.py makemigrations确认成功,执行python manage.py migrate,提示No migrations to apply. 表示一脸懵逼.再次修改,指定表名,再次尝试,发现问题依旧,表示二脸懵逼 排查过程 python manage.py dbshell 进到数据库里面,查看是否表已存在 结果:表不

随机推荐