【发布时间】:2019-04-28 22:38:51
【问题描述】:
试图解决这个先有鸡还是先有蛋的问题。我定义了一个新模型,将现有模型外键放入其中,并进行了新迁移,包括为新模型提供一些默认值的数据迁移。
在现有模型的序列化程序中,我想像这样定义一个默认值:
new_thing = serializers.PrimaryKeyRelatedField(
queryset=NewThing.objects.all(),
default=NewThing.objects.get(id=DEFAULT_NEW_THING_ID),
)
我不了解 django 的具体机制,但这似乎在运行迁移时会导致问题(尽管 makemigrations 似乎很好)。似乎迁移对视图运行了一系列应用程序检查,并最终对序列化程序进行了检查,它在其中评估 NewThing QuerySet 并返回一个错误,即 NewThing 的关系不存在(因为尚未运行迁移)。
【问题讨论】: