django - 如何在 django 中使用 factoryboy 创建模型的多个实例?
问题描述
如何创建此资源的多个实例?当我尝试这样做时,我会创建相同的实例。我确实倾向于最终创建多个用户,但只有一个资源。
这是工厂声明
class ResourceFactory(DjangoModelFactory):
class Meta:
model = Resource
client = factory.SubFactory(
ClientFactory,
)
user = factory.SubFactory(
UserFactory,
)
start_date = Faker("date_time")
end_date = None
department = Faker("sentence", nb_words=2)
title = Faker("sentence", nb_words=4)
custom_data_field = {"fake": "data"}
这大致就是我一直在尝试做的事情。我想要与同一个客户端关联的所有资源。此时,我从数据库中获取了客户端,因为我遇到了随机错误,而这似乎至少可以修复这些错误。
client = ClientFactory()
db_client = Client.objects.get(id=client.id)
resources = [ResourceFactory(client=db_client) for i in range(5)]
如果我len(Resource.objects.all())
此时运行,它会以1
. 如何在数据库中创建 5 个单独的资源,所有资源都与同一个客户端关联?