[英]How to include Many to Many Field in SubFactory (Django)?
I have two models: Project
and Tag
.我有两个模型: Project
和Tag
。 In Project
there is ManyToManyField: project_tags
I have written factories for both of them.在Project
有 ManyToManyField: project_tags
我为它们编写了工厂。 The problem is that I don't know how to include TagFactory
to ProjectFactory
问题是我不知道如何将TagFactory
包含到ProjectFactory
I have tried:我试过了:
project_tags = factory.SubFactory(TagFactory)
Error:错误:
TypeError: Direct assignment to the forward side of a many-to-many set is prohibited. Use project_tags.set() instead
And also:并且:
Project.project_tags.set()
Error:错误:
AttributeError: 'ManyToManyDescriptor' object has no attribute 'set'
The simple solution is through factory.RelatedFactory
or factory.RelatedFactoryList
:简单的解决方案是通过factory.RelatedFactory
或factory.RelatedFactoryList
:
class ProjectFactory(factory.django.DjangoModelFactory):
class Meta:
model = Project
tags = factory.RelatedFactoryList(
TagFactory,
size=4,
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.