如何更新 MySQL 数据库中的 Django 模型字段
How to update Django model fields in MySQL database
我在 Django 中为帖子创建了一个模型,我正在尝试更新数据库中的一个字段 (MySQL)。
我有以下代码块:
model.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 makemigrations
然后 python manage.py migrate
,我都会收到一个终止迁移过程的错误。它告诉我数据库中的字段 preamble
无法识别。是否可以将 preamble
更新为 introduction
?
这应该是可行的:
- 删除 SQLite 数据库和迁移目录
- 更改模型
- 然后 运行 迁移命令
- 确保在进行任何修改之前迁移应用程序的初始状态。
- 将模型中的
preamble
字段重命名为 introduction
,不做其他更改。
- 运行
makemigrations
。它应该问你是否重命名。
- 添加
author
外键。
- 运行
makemigrations
。如果用户字段不可为空,它应该要求您提供默认值; 1
应该指的是您系统中创建的第一个用户。
- 运行
migrate
.
我在 Django 中为帖子创建了一个模型,我正在尝试更新数据库中的一个字段 (MySQL)。 我有以下代码块: model.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 makemigrations
然后 python manage.py migrate
,我都会收到一个终止迁移过程的错误。它告诉我数据库中的字段 preamble
无法识别。是否可以将 preamble
更新为 introduction
?
这应该是可行的:
- 删除 SQLite 数据库和迁移目录
- 更改模型
- 然后 运行 迁移命令
- 确保在进行任何修改之前迁移应用程序的初始状态。
- 将模型中的
preamble
字段重命名为introduction
,不做其他更改。 - 运行
makemigrations
。它应该问你是否重命名。 - 添加
author
外键。 - 运行
makemigrations
。如果用户字段不可为空,它应该要求您提供默认值;1
应该指的是您系统中创建的第一个用户。 - 运行
migrate
.