是否可以在不创建两个工厂对象的情况下设置子工厂的值?
例如,我有两家工厂;

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")

希望能有所帮助。

09-13 06:16