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

使用 inline-formset 函数,你可以添加尽可能多的

于 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 回答