【发布时间】:2011-05-05 15:39:45
【问题描述】:
我有一个包含 2 个模型的简单案例:Item 和 Category,它们之间有 ManyToMany。我想显示一个页面,列出所有类别和每个类别的项目列表。我有数百个类别,所以 django 会点击 db 数百次(在遍历类别并为每个类别调用 items.all() 时)。我需要手动从中间表中选择数据并使用 select_related() 为每条记录提取项目和类别——一个查询而不是数百个。
我知道引入 'through' 可以解决问题,但我现在不想这样做,因为它可能会破坏现有代码(使用 through 会使您无法使用 add、create 或 assignment 来创建关系 - 这我现在想避免)。
那么,是否有可能不为中间表创建模型?
【问题讨论】:
标签: django django-models