python - 如何更新 MySQL 数据库中的 Django 模型字段
问题描述
我在 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
吗?
解决方案
- 确保在进行任何修改之前迁移应用的初始状态。
- 将该
preamble
字段重命名为introduction
模型中的,不进行其他更改。 - 运行
makemigrations
。它应该询问您是否是重命名。 - 添加
author
外键。 - 运行
makemigrations
。如果用户字段不可为空,它应该要求您提供用户字段的默认值;1
希望应该是指在您的系统中创建的第一个用户。 - 运行
migrate
。
推荐阅读
- powershell - jar 文件的版本,通过使用 powershell 读取其清单
- python-3.x - Highlighting specific text in an image using python
- javascript - 如何在 React / React Native 中使用 Emscripten 编译的 JavaScript
- node.js - 获取 Elastic BeanStalk 部署过程日志
- objective-c - MacOSX 上的 AVAudioRecorder 问题
- javascript - 如何按照描述创建矩阵
- excel - 电子表格 | 表格:在一个单元格中显示范围之间的数字
- java - 如何与活动进程/子进程通信?
- r - 如何将变量列表传递给函数,但还要考虑引用和引用
- android - 如何使用 adb 命令安装已卸载的应用程序