【发布时间】:2020-08-14 14:19:41
【问题描述】:
简短版本: Django 的迁移子系统似乎想要删除并重新创建我的表,而不仅仅是添加一列。我该如何解决?
长版:
我想向我的 Django 3.0 模型之一添加一个字段。没什么大不了的,对吧?
- 在类定义中添加字段
manage.py makemigrationsmanage.py migrate
所以有一个奇怪的问题....当我运行 makemigrations 时,我在输出中看到了这个:
Migrations for 'api':
api/migrations/0006_auto_20200814_0953.py
- Delete model APISearch
[snip]
- Create model APISearch
[snip]
果然,生成的迁移中有说明删除然后创建APISearch 模型。
那会很糟糕...APISearch 是我数据库中的一个真实表,包含重要数据。
我认为这个问题与很久以前APISearch 是一个代理类(它早已被更改为一个具体类)这一事实有关。我不知道 Django 是如何确定代理性的,所以我可以纠正它。
【问题讨论】: