当在Django中使用makemigrations
时,我注意到它甚至会为没有更改的字段生成迁移。这是什么原因?
这是我每次运行makemigrations
时Django都会生成一个新迁移的Model
class Announcement(OJModel):
owner = models.ForeignKey(
"user.User",
verbose_name=_("Announcement Owner"),
on_delete=models.CASCADE,
related_name="owner_announcements",
null=True,
blank=True,
)
title = models.CharField(max_length=300, default="", verbose_name=_("Title"))
description = models.TextField(
max_length=3000, default="", verbose_name=_("Description")
)
estate = models.OneToOneField(
"announcement.Estate",
on_delete=models.CASCADE,
verbose_name=_("Estate"),
null=True,
)
字符串
由makemigrations
生成的脚本:
class Migration(migrations.Migration):
dependencies = [
("announcement", "0072_auto_20181218_1256"),
]
operations = [
migrations.AlterField(
model_name="announcement",
name="estate",
field=models.OneToOneField(
null=True,
on_delete=django.db.models.deletion.CASCADE,
to="announcement.Estate",
verbose_name="Estate",
),
),
]
型
1条答案
按热度按时间q3qa4bjr1#
在models.py上这样写:
字符串
在admin.py中这样写:
型
保存文件,现在从迁移文件夹中删除旧迁移!
现在在manage.py目录下的命令行中运行这些命令:
型
然后这个:
型
都搞定了