2016-11-09 10 views
0

Я использую django 1.6 и заводского мальчика.factory-boy создать список SubFactory для фабрики

class UserFactory(factory.Factory): 
    class Meta: 
     model = models.User 

     username = factory.Sequence(lambda n: 'user%d' % n) 

Здесь username в модели простой CharField. Так что каждый раз, когда я звоню UserFactory(), я сохраняю и получаю уникальный объект с именем пользователя.

В фабричном мальчике я могу использовать factory.SubFactory(SomeFactory).

Как я могу сгенерировать список SomeFactory в ParentOfSomeFactory?

Так что, если я позвоню ParentOfSomeFactory() я буду создавать список SomeFactory, а также базы данных ParentOfSomeFactory

+0

Просто чтобы убедиться, что, даже если вы создаете список субфакторов, тип поля по-прежнему не является типом списка, как вы хотели его обработать? в вашем примере, что бы вы сделали, если 'lambda' вернет список? –

+0

Что бы вы сделали, если лямбда вернет список? Так что, если я вызову ParentOfSomeFactory(), он автоматически создаст и сохранит список модели SomeFactory в базе данных. Я не хочу создавать его вручную. –

ответ

1

Вы код предоставить список с factory.Iterator

import itertools 
import factory 

# cycle through the same 5 users 
users = itertools.cycle(
    (UserFactory() for _ in range(5)) 
) 

class ParentFactory(factory.Factory): 
    user = factory.Iterator(users) 

 Смежные вопросы

  • Нет связанных вопросов^_^