微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何更新 MySQL 数据库中的 Django 模型字段

如何解决如何更新 MySQL 数据库中的 Django 模型字段

我为 Django 中的帖子创建了一个模型,我正在尝试更新数据库 (MysqL) 中的一个字段。 我有以下代码块: 模型.py

class Post (models.Model):
    title = models.CharField()
    preamble = models.CharField()
    body = models.TextField ()
createdAt = models.DateTimeField(auto_Now_add=True,blank=True)

我想添加一个名为 author author=models.ForeignKey(User,on_delete=models.CASCADE 的字段 另外,我想将其中一个字段的名称preamble 更改为 introduction

每当我运行命令 python manage.py makemigrationspython manage.py migrate 时,我都会收到终止迁移过程的错误。它告诉我我的数据库中的字段 preamble 无法识别。是否可以将 preamble 更新为 introduction

解决方法

  • 确保在进行任何修改之前迁移应用的初始状态。
  • 将模型中的 preamble 字段重命名为 introduction,不做其他更改。
  • 运行makemigrations。它应该询问您是否是重命名。
  • 添加 author 外键。
  • 运行makemigrations。如果用户字段不可为空,它应该要求您提供默认值; 1 应该是指在您的系统中创建的第一个用户。
  • 运行 migrate
,

这应该可行:

  1. 删除 SQLite 数据库和迁移目录
  2. 改变模型
  3. 然后运行迁移命令

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?