2

私は明らかに気まぐれです。最初からそれを認めます。私は次の工場を使用しています

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使用できないインスタンスが生成されます。

4

1 に答える 1