【发布时间】:2019-06-20 18:05:08
【问题描述】:
我有两个模型,比如说 Container 和 Item。 Container 有一个 ManyToMany 字段来将 Containers 关联到 Items。我想将一个项目添加到一个容器中,然后列出这个容器中的所有项目。但是,我注意到 Django 在添加之前会查询每个项目,因此我最终得到三个查询,一个用于获取所有项目,一个用于检查我要添加的项目是否存在,另一个用于添加项目。有没有办法消除这种多余的检查?
我已经尝试使用 set 命令完全替换 item_set,但它仍然添加了对重复项的额外检查。
# Select all items in item_set
existing = container.item_set.all()
# Select item in item_set (even though we know) and insert item into set
container.item_set.add(new_item)
简而言之:我想在两个查询中将一个新项目添加到集合中,并将集合中的所有旧项目结束
【问题讨论】:
标签: django