我有一个项目与客户,绘图时间表,行项目和服务器。在
每个客户机有一个DraftSchedule,每个DraftSchedule有许多行项目
每个客户端都有许多服务器
每个行项目有一个服务器
我有一些代码可以用随机数据为每个DraftSchedule生成行项目。但是,生成的行项目包含Draftschedule客户机实际上并不拥有的服务器
class LineItemFactory(factory.django.DjangoModelFactory):
class Meta:
model = LineItem
line_item_type = factory.Iterator(LineItemType.objects.all())
draftschedule = factory.Iterator(DraftSchedule.objects.all())
servers = factory.Iterator(Server.objects.all()) # <----- Problem line
cost = factory.LazyAttribute(lambda x: faker.pydecimal(2, 2, positive=True))
detail = factory.LazyAttribute(lambda x: faker.sentence())
...
我想将服务器选项集限制为仅为为其创建行项的Draftschedule的父客户机拥有的服务器。在
因此,当我调用LineItemFactory()
时,它将返回一个新的LineItem对象,并且我可以保证LineItem上的服务器实际上是由与DraftSchedule关联的客户机拥有的
我试过以下方法:
^{pr2}$其中client.servers
是相关名称,但函数不可编辑,所以我有点卡住了
这是可能的还是我应该从另一个角度来处理这个问题?在
您可以尝试使用lazy_attribute_sequence:
相关问题 更多 >
编程相关推荐