12

10人のサンプルユーザー(User)を作成する必要があり、各ユーザーには50個のドキュメント(Doc)が必要です。factoryboyを使用してtests.pyでこれを行う方法は?

#factories.py

from app_name.models import *
import factory
from datetime import datetime, timedelta, time
from django.contrib.auth.models import User


class UserFactory(factory.Factory):
    FACTORY_FOR = User

    username = factory.Sequence(lambda n: 'User ' + n)
    email = 'demo@mail.com'
    password = '1234567'

class DocFactory(factory.Factory):
    FACTORY_FOR = Doc

    user = factory.SubFactory(UserFactory)
    kategories = '1'
    doc_number = '12345678'
    date_join = factory.Sequence(lambda n:(datetime.now() + timedelta(days=n)).date(), int)

私のtests.pyで:

from django.test import TestCase
from django_dynamic_fixture import G
from factories import *
4

4 に答える 4

15
users = UserFactory.create_batch(10)
for user in users:
    doc = DocFactory.create(user=user)
于 2013-01-29T22:48:19.940 に答える