【问题标题】:More efficient way to save multiple dependent objects in Django在 Django 中保存多个依赖对象的更有效方法
【发布时间】:2026-02-05 09:20:03
【问题描述】:

一个单一的视图,我必须创建 3 个相互依赖的对象。我的猜测是执行 3 个数据库查询效率极低。有没有更好的方法?

character = char(user = request.user, race = form.clean_race())
character.save()

colony = colony(char = character)
colony.save()

buildings = colony_building(colony = colony, building_5 = 1)
buildings.save()

`

【问题讨论】:

  • 三张表各插入一条记录的3次查询如何效率低下? SQL 中是否有查询可以更有效地执行此操作?

标签: django django-models django-views


【解决方案1】:

假设这些是不同的模型,每个模型需要一个 SQL 查询,因为 SQL 的 INSERT 只能针对一个表。所以对我来说,对 3 个模型进行 3 个查询是可以的。

【讨论】: