首页 > 其他分享 >django之manage.py migrate无效的问题

django之manage.py migrate无效的问题

时间:2023-08-06 22:13:31浏览次数:36  
标签:manage migrate py migrations python user

问题

已有的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的时候,不必担心原有数据会丢失。

标签:manage,migrate,py,migrations,python,user
From: https://www.cnblogs.com/hkwJsxl/p/17610161.html

相关文章

  • 【Python | 进阶】提高你的Python技能,9个让代码更简洁、更快的秘密技巧, 确定不来看看?
    ......
  • cookiecutter python 项目模版工具
    cookiecutterpython项目模版工具,可以帮助我们快速基于模版生成python项目(当然也支持c项目)有不少python项目都是基于此工具的比如dbtadapter开发就基于此提供了方便的adapter生成dbtadapter参考模版 cookiecutter创建项目模版具体可以参考rongfengliang/mynpm-pac......
  • Python文件读取方法:read()、readline()和readlines()的区别
    在Python中,读取文件是一项常见的任务。Python提供了多种方法来读取文件内容,其中包括read()、readline()和readlines()方法。本文将介绍这些方法的区别和使用场景。read()read()方法用于一次性读取整个文件的内容,并将其作为一个字符串返回。语法如下:file_object.read()优点:读取整个......
  • Python魔法解析:探索变量类型的丰富多彩世界!
    在Python这个魔法般的编程语言中,变量是连接你与计算机世界的神奇桥梁。然而,这些变量并不是单一的,它们有着丰富多彩的类型。无论你是刚刚踏入编程的大门,还是想要深入了解Python的高级特性,本篇博客将带你探索变量的不同类型,为你揭开编程世界的神秘面纱。一窥Python变量类型的多样性在......
  • Python logging模块怎么使用,你会了吗?
    Pythonlogging模块使用在开发和维护Python应用程序时,日志记录是一项非常重要的任务。Python提供了内置的logging模块,它可以帮助我们方便地记录应用程序的运行时信息、错误和调试信息。本文将介绍如何使用Pythonlogging模块进行日志记录。logging模块logging是Python自带的用于记......
  • 软件测试|Python科学计算神器numpy教程(二)
    前言上一篇文章我们介绍了numpy的安装和ndarray的部分知识,本篇文章我们来介绍一下numpy的数组的常用属性以及创建数组相关内容。数组常用属性ndarray.shapeshape属性的返回值一个由数组维度构成的元组,比如2行3列的二维数组可以表示为(2,3),该属性可以用来调整数组维度的......
  • 数据量较大时,python 如何加速 matplotlib 的作图
    数据量较大时,python如何加速matplotlib的作图?GeneratedbyChatGPT当数据量较大时,matplotlib可能会变得缓慢。下面是一些可以加速matplotlib作图的方法:使用blitting:blitting是一种将图形上下文缓存到位图中的技术,可以提高图形更新的速度。使用数据抽样:通过对数据进行抽......
  • python基础入门模块
    一、os模块os模块提供了许多与操作系统相关的函数,可以让我们在Python程序中轻松地处理文件和目录、环境变量等等。下面是os模块中常用的方法:os.getcwd()这个函数用于获取当前工作目录,即当前Python脚本工作的目录路径。os.chdir(path)这个函数用于改变当前工作目录到指定的......
  • Python 中整型对象存储的位置
    在Python整型对象所存储的位置是不同的,有一些是预先分配内存的,它一直存储在内存里面,而其它的,则在使用时开辟出空间.说这句话的理由,可以看看如下代码:123456a = 5b = 5a is b # Truea = 500b = 500a is b # False由上面的代码可知,整型5是一直存在的,......
  • FCN-全卷积网络-pytorch搭建
    代码摘自:https://github.com/sovit-123/Semantic-Segmentation-using-Fully-Convlutional-Networks预备知识:下载预训练权重,抽取出网络层实例:运行如下代码,自动下载到C:\Users\**\.cache\torch\hub\checkpoints目录下。vgg=models.vgg16(pretrained=True)抽取网络层,vgg.fe......