Django-一次创建不同模型的多个元素

时间:2019-02-05 21:21:55

标签: python django python-3.x

我有2个模型,它们之间具有OneToOne关系。我想一次创建每个实例的一个实例,以避免对服务器进行2次查询(这有点慢)

class FilePath(models.Model):
    storage_path = models.CharField(max_length=100)
    date_created = ...


class Image(models.Model):
    path = models.OneToOneField(FilePath, on_delete=models.CASCADE)
    width = models.IntegerField()

# I want these queries to be combined to a single server access
file_path = FilePath.objects.create(storage_path=r"/images/1234.jpg")
image = Image.objects.create(path=file_path, width=250)

1 个答案:

答案 0 :(得分:0)

您正在寻找Django中的bulk_create函数。该函数将数组作为参数,该数组包含要保存的对象。

示例:

Image.objects.bulk_create([
    Image(path=gile_path, width=250),
    Image(path=gile_path, width=250),
    Image(path=gile_path, width=250),
])

有关更多信息,请阅读有关此功能的Django文档。 bulk_create()