6

FactoryBoy は、常にデフォルト データベースにインスタンスを作成するようです。しかし、次の問題があります。

cpses = CanonPerson.objects.filter(persons__vpd=6,
                                   persons__country="United States").using("global")

コードはデータベースを指していglobalます。ファクトリ内でデータベースを指定する方法が見つかりませんでした:

class CanonPersonFactory(django_factory.DjangoModelFactory):
    class Meta:
        model = CanonPerson
        django_get_or_create = ('name_first', 'p_id')
    p_id = 1
    name_first = factory.Sequence(lambda n: "name_first #%s" % n)

    @factory.post_generation
    def persons(self, create, extracted, **kwargs):
        if not create:
            # Simple build, do nothing.
            return

        if extracted:
            # A list of groups were passed in, use them
            for person in extracted:
                self.persons.add(person)
4

2 に答える 2