您能否创建一个 factory-boy 子工厂,该子工厂仅在用户在调用时请求时才创建实例?

问题描述

我想创建一个子工厂,仅在用户调用时请求时才创建实例。

鉴于这些模型:

class Group(models.Model):
    name = models.CharField()

class Member(models.Model):
    name = models.CharField()
    group = models.ForeigKey(Group,blank=True,null=True)

还有这家工厂:

class MemberFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Member

    name = factory.Sequence("Member {}".format)
    group = factory.Subfactory(GroupFactory)

如果明确要求,我希望可以选择仅创建一个组,但不会丢失所有其他功能。换句话说,这些都应该有效:

MemberFactory()  # Expect group=None
MemberFactory(group=True)  # Expect group=GroupFactory()
MemberFactory(group__name="ABC")
MemberFactory(group=Group.objects.get(...))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...