FactoryBoy her zaman varsayılan veritabanında örnekleri oluşturuyor gibi görünüyor. Ama şu problemim var.Fabrika Boyu için veritabanı nasıl belirlenir?
cpses = CanonPerson.objects.filter(persons__vpd=6,
persons__country="United States").using("global")
kod global
veritabanına işaret ediyor. Ben fabrika içinde veritabanını belirtmek için bir yol bulmuş değil: kutusundan bu özelliği sağlamaz
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)
Çalışır: artık doğrudan
Meta
üzerindedatabase
özellik ekleyerek destekledi. Teşekkürler – Houman