2

外部キーを持つ多くのオブジェクトをデータベースに (自動的に) 追加する方法は?

テスト用にこれが必要です(アプリケーションが複数のデータでどのように機能するか)

class Document(models.Model):
    user = models.ForeignKey(User)
    content = models.CharField(max_length=255)
    add_time = models.DateTimeField()

10 人のサンプル ユーザーを作成する必要があり ( User)、それぞれに 50 のドキュメントが必要です ( Document)

4

4 に答える 4

2

関連付けられたオブジェクトを簡単に作成するためにFactoryBoy使用できる場所の仕事のように聞こえます。SubFactories

また、この回答で示されpost_generationているフックも便利なはずです。

于 2013-01-29T15:57:21.553 に答える
2
I need to create ten sample users (User) and each of them must have fifty documents (Document)

ミキサーを使ってみる

from mixer.backend.django import mixer

users = mixer.cycle(10).blend(User)
documents = mixer.cycle(50).blend(Document, user=mixer.sequence(*users))
于 2014-01-07T19:08:30.630 に答える
1

インラインフォームセット関数を使用すると、できるだけ多く追加できます

于 2013-01-29T15:53:30.670 に答える
0
from random import sample
from string import ascii_letters
from datetime import datetime
for i in range(10):
    user = User.objects.create_user(''.join(sample(asci_letters, 5)),
                                    'lennon@thebeatles.com', 'johnpassword')
    for j in range(50):
        doc = Document.objects.create(
            user=user, 
            content=''.join(sample(asci_letters, 100)), 
            add_time=datetime.datetime.now())
        doc.save()
于 2013-01-29T15:56:04.030 に答える