测试。如何自动将多个带外键的对象添加到数据库?

2 投票
4 回答
673 浏览
提问于 2025-04-17 14:04

如何自动将多个带外键的对象添加到数据库中?

我需要这样做是为了测试(看看应用程序如何处理多个数据)

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

我需要创建十个示例用户(User),每个用户必须有五十个文档(Document

4 个回答

1

使用inline-formset这个功能,你可以添加任意数量的表单。

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))

试试使用 Mixer 这个工具吧。

2

听起来这正是 FactoryBoy 的用武之地。它可以帮助你轻松创建相关的对象,特别是通过使用 SubFactories

另外,post_generation 这个钩子在 这个回答中有展示,应该会对你很有帮助。

撰写回答