2016-11-09 1 views
0

私はdjango 1.6とfactory-boyを使用しています。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()を呼び出す場合、私は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) 
関連する問題