【发布时间】:2021-08-06 10:35:02
【问题描述】:
我有这个模型。
class TransportOrder(SomeMixin, models.Model):
order = models.ForeignKey(
to="orders.Order",
on_delete=models.PROTECT,
related_name="transport_orders",
help_text=_("Order which was used for creating"),
null=True,
blank=True,
)
# Other fields have been removed for simplicity
我在迁移中有转发功能。
def forward(apps, schema_editor):
TransportOrder = apps.get_model("transportorders", "TransportOrder")
# There is no `order` field printed result.
print(dir(TransportOrder))
# I need to filter something by using `TransportOrder.order` foreign key field here. But I receive the error obviously.
由于apps.get_model函数提供的TransportOrder模型中没有order字段,所以出现以下错误。
django.core.exceptions.FieldError: Cannot resolve keyword 'order' into field.
但是,这只发生在运行我的测试时。否则没有问题。什么可能导致此问题?
【问题讨论】:
-
你跑
manage.py migrate了吗? -
是的,我确实运行了它。
-
“这只发生在运行我的测试时”,你如何运行你的测试?如果问题出在您的测试中,您还应该将该代码添加到问题中。
-
您是否尝试过从 django shell 导入 TransportOrder 并检查是否有可用的订单字段?
-
@blondelg 是的,我试过了,是的。
标签: python django django-models django-migrations django-testing