问题

已有的model,迁移之后,想重新设置字段,于是将migrations文件夹中除__init__.py之外其他文件都删掉,并且把数据库中的表删除,再次执行以下步骤python manage.py makemigrations确认成功,执行python manage.py migrate,提示No migrations to apply.无法对表模型进行更改。

解决方案

  1. python manage.py dbshell 进到数据库中,执行delete from django_migrations where app='your_appname';
  2. python manage.py makemigrations
  3. python manage.py migrate 好啦,大功告成

扩展

执行python manage.py migrate之后,可以使用python manage.py sqlmigrate appname migrations_num(例如python manage.py sqlmigrate user 0001)查看当前migrations文件对应的sql语句。

另外,在使用上述命令查看0001文件的sql语句时发现,Django会新建一个表user_new,然后插入user表中的数据,再把user表删掉,再把user_new重命名为user。所以,修改model的时候,不必担心原有数据会丢失。

django之manage.py migrate无效的问题的更多相关文章

  1. Django中manage.py migrate无效的问题

    在改变Django-model中结构后,makemigrations可以识别到改变但migrate没有操作,数据库中表结构也没有改变,原因如下: 在由Django-model自动生成的数据库表中有名为 ...

  2. django-关于manage.py migrate无效的问题

    django-关于manage.py migrate无效的问题 2017年03月04日 15:23:36 Jessie-via 阅读数:12317 标签: pythondjango 更多 个人分类:  ...

  3. 转 dango的模型总结 and django-关于manage.py migrate无效的问题

    http://iluoxuan.iteye.com/blog/1703061 1:用过django就知道django的model有多方便: 首先介绍下django的模型有哪些属性:先看例子: Djan ...

  4. Django 中 python manage.py makemigrations 与 python manage.py migrate

    执行 python manage.py makemigrations django根据settings.py里面的INSTALLED_APPS项设置找到对应app里的models.py,应用里面创建的 ...

  5. 【解决方案】django初始化执行python manage.py migrate命令后,除default数据库之外的其他数据库中的表没有创建出来

    [问题原因]:django工程中存在多个应用,每个应用都指定了对应的数据库.执行python manage.py migrate命令时没有指定数据库,将只初始化默认的default数据库. [解决方案 ...

  6. Django orm 中 python manage.py makemigrations 和 python manage.py migrate 这两条命令用途

    生成一个临时文件 python manage.py makemigrations 这时其实是在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_ini ...

  7. django(python manage.py migrate)同步数据库出错后的解决办法

    执行python manage.py migrate同步数据库前一次执行 python manage.py makemigrations 时生成的文件及之后所有的文件删除即可,然后修改models.p ...

  8. Django笔记 manage.py脚本的使用

    1. 管理Django项目 python manage.py startproject projectname # 新建Django project ~~projectname是自己的项目名称 pyt ...

  9. python后台架构Django教程——manage.py命令

    一.manage.py命令选项 manage.py是每个Django项目中自动生成的一个用于管理项目的脚本文件,需要通过python命令执行.manage.py接受的是Django提供的内置命令. 内 ...

  10. django中表变更后migrate无效的问题

    问题描述: 已有的model,修改之后,想重新建模,于是将migrations文件夹中除__init__.py之外其他文件都删掉,再次执行以下步骤python manage.py makemigrat ...

随机推荐

  1. [转帖]centos7 firewall-cmd主机之间端口转发

    目录 1. firewalld 1.1 firewalld守护进程 1.2 控制端口/服务 1.3 伪装IP 1.4 端口转发 2. 案例 2.1 配置ServerA 2.2 安装nginx测试 (可 ...

  2. [转帖]Linux后门的几种姿势

      转载自 https://evilanne.github.io/2017/08/26/Linux后门-持续关注/ 在一次渗透中,成功获取某目标几台比较重要的机器,当时只想着获取脱库,结果动静太大被发 ...

  3. Linux执行SQLSERVER语句的简单方法

    背景 因为WTF的原因.经常有人让执行各种乱七八槽的删除语句 因为产品支持了10多种数据库. 这个工作量非常复杂. 为了简单起见,想着能够批量执行部分SQL. 其他的都处理过了,但是SQLSERVER ...

  4. 不想做架构师的Gopher不是好程序员

    最近我们在组队学习<手把手带你写一个web框架>,强制PUSH,坚持每天学习打卡,不完成惩罚发红包的那种. 你别说,效果还真挺好. 昨天学到了架构部分,很受启发,光学不写假把式.(还是得坚 ...

  5. 限制input框中字数的输入maxlength

    今天产品提出一个需求就是.限制input框中的的值. 当用户超过10个字符时,用户再次输入的时,就不能够输入了. (最后就能够输入10个字符) maxlength=10 <input maxle ...

  6. Qt中qreal的坑

    今天在写Qt的时候遇到了一个bug:同样一个方程在PC机上算的结果是11,但在arm-Linux设备上算出来的结果是12,我自己用计算器按出来的结果也是12. 该段程序是这样的: maxnumbar ...

  7. Linux下的gcc/g++编译器的使用 [补档-2023-06-13]

    gcc编译器 ​ 这东西是Linux上的c/c++编译器. 5-1 gcc的工作流程 5-2 gcc的常用参数 -v 查看gcc版本号, --version也可以 -E 生成预处理文件 -S 生成汇编 ...

  8. 记录一次py2编码带来的坑

    "中文" == u"中文" # PY2 False"中文" == u"中文" # PY3 True

  9. ChatGPT 对接微信公众号技术方案实现!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 9天假期写了8天代码和10篇文章,这个5.1过的很爽! 如假期前小傅哥的计划一样,这个假期开启 ...

  10. C#中使用AutoMapper

    AutoMapper是一种流行的对象到对象映射库,可用于映射属于不同类型的对象.例如,您可能需要将应用程序中的DTO(数据传输对象)映射到模型对象. AutoMapper省去了手动映射此类不兼容类型的 ...