我有这个模型。
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.
然而,这只会在运行我的测试时发生。否则就没有问题了。导致此问题的原因是什么?
发布于 2021-05-31 12:47:22
显然,在一些旧的迁移中,makemigration创建的dependencies=[]是不正确的。
在一些迁移中手动添加一些依赖项解决了这个问题。
发布于 2021-05-17 15:18:58
尝试django测试工具,它被设计成与项目很好地工作,特别是与数据库和模型一起工作。
每次运行测试时,Django都会构建自己的测试数据库,您可以使用项目中的对象从测试中填充。
https://stackoverflow.com/questions/67565038
复制相似问题