Python Django模型外键字段在测试期间的迁移中不可用

Python Django模型外键字段在测试期间的迁移中不可用,python,django,django-models,django-migrations,django-testing,Python,Django,Django Models,Django Migrations,Django Testing,我有这个型号 类传输顺序(SomeMixin,models.Model): 订单=型号。外键( to=“orders.Order”, 在_delete=models.PROTECT上, 相关的_name=“运输订单”, help_text=u(“用于创建的顺序”), 空=真, 空白=真, ) #为简单起见,其他字段已被删除 我在迁移中有转发功能 def转发(应用程序、架构编辑器): TransportOrder=apps.get_模型(“transportorders”、“TransportO

我有这个型号

类传输顺序(SomeMixin,models.Model):
订单=型号。外键(
to=“orders.Order”,
在_delete=models.PROTECT上,
相关的_name=“运输订单”,
help_text=u(“用于创建的顺序”),
空=真,
空白=真,
)
#为简单起见,其他字段已被删除
我在迁移中有转发功能

def转发(应用程序、架构编辑器):
TransportOrder=apps.get_模型(“transportorders”、“TransportOrder”)
#没有“订单”字段打印结果。
打印(直接(运输订单))
#我需要使用“TransportOrder.order”外键字段筛选某些内容。但我显然收到了错误。
由于
apps.get\u model
函数提供的
TransportOrder
模型中没有
order
字段,我得到了以下错误

django.core.exceptions.FieldError:无法将关键字“order”解析为字段。


但是,这仅在运行测试时发生。否则就没有问题了。是什么导致了这个问题?

尝试了django测试工具,它被设计用于项目,特别是数据库和模型

每次运行测试时,Django都会构建自己的测试数据库,您可以从测试中填充项目中的对象


显然,在一些旧的迁移中,由
makemigration
创建的
依赖项=[]
是不正确的


在某些迁移中手动添加一些依赖项修复了该问题。

是否运行了
manage.py migrate
?是的,我确实运行了它。“这只在运行我的测试时发生”,如何运行测试?如果您的测试存在问题,您也应该将该代码添加到问题中。您是否尝试从django shell导入TransportOrder并检查是否有可用的order字段?@blondlg是的,我尝试过,并且它存在。好的,谢谢您的建议。我们肯定会考虑,但改变我们目前的工具是不可能的。因为它在我们所有的项目中都得到了广泛的应用。