[英]factory_boy one to many relationship
I have an one-to-many relationship and want to create a factory for it but don't know how to do this with factory_boy API. 我有一对多的关系,并想为其创建一个工厂,但是不知道如何使用factory_boy API来实现。 One-to-one relationships are easy, just use SubFactory
, but how to do this for a one-to-many relationship? 一对一的关系很简单,只需使用SubFactory
,但是对于一对多的关系该如何做呢?
Example: 例:
class Order(object):
def __init__(self, id, itens):
self.id = id
self.itens = itens
class Item(object):
def __init__(self, id, itens):
self.id = id
class OrderFactory(SQLAlchemyModelFactory):
class Meta:
model = Order
id = lazy_attribute(lambda o: random.randint(1, 1000))
itens = ????
You should use post generation hook: 您应该使用后期生成挂钩:
@factory.post_generation
def items(self, create, extracted, **kwargs):
if not create:
return
if extracted:
for item in extracted:
self.items.add(item)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.