私は明らかに気まぐれです。最初からそれを認めます。私は次の工場を使用しています
class DataSheetFactory(factory.DjangoModelFactory):
class Meta:
model = models.myModel
django_get_or_create = ('key_field',)
key_field = factory.Sequence(lambda n: n)
... <additional fields>
@factory.post_generation
def product_contributors(self, create, extracted, **kwargs):
if not create:
return
if extracted:
for person in extracted:
self.product_contributors.add(person)
でこれを作成するとPDS=DataSheetFactory(product_contributors= (<tuple of users>))
、フィールドにユーザーのリストが期待されますproduct_contributors
が、代わりに が取得されるdjango.db.models.fields.related.ManyRelatedManager
ため、テストは機能しません。ここで「一般的なレシピ」に従っているので、どうすればよいでしょうか?
明確にするために、ファクトリーボーイを使用して、モデルの多対多フィールドでユーザーのリストを作成する方法を尋ねています。ドキュメントで提案されていることを試してみましたがManyRelatedManager
、リストではなく を取得するため、factory_boy
使用できないインスタンスが生成されます。