我有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)
答案 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()。