是否可以在不创建两个工厂对象的情况下设置子工厂的值?
例如,我有两家工厂;
class UserFactory(factory.DjangoModelFactory):
FACTORY_FOR = 'mysite.user'
name = "Mark"
class MyFactory(factory.DjangoModelFactory):
FACTORY_FOR = 'mysite.myfactory'
user = factory.SubFactory(UserFactory)
我想创建
MyFactory()
并同时设置user.name
的值。您必须先创建
user = UserFactory.create(name="John")
吗?还是可以在从args到MyFactory()
的一行中完成?在一次测试中,我得到了以下信息:;
def setUp(self):
user = factories.UserFactory(name="John")
myfactory = factories.MyFactory(user=user)
最佳答案
根据documentation,您可以在外部工厂定义中定义SubFactory
字段:
factories.MyFactory(user__name="John")
希望能有所帮助。