拥有该简化模型:
subproducts = models.ManyToManyField("self", blank=True, symmetrical=False)
active = models.BooleanField(default=False, db_index=True)
和这样的数据:
- 产品一
- 子项目 1
- 次级方案 2
- 产品 2
- 次级方案 3
- 子计划 4
- 产品 3
- 子项目 5
- 子项目 6
假设产品 1-3 是主要产品,SubP* 是子产品。有一个 ID 为 Product 1 和 Product 3 的元组:(1, 3)
我想得到他们所有的子产品,所以我的查询应该返回 (SubP 1, SubP 2, SubP 5, SubP 6)
如何编写该查询?我可以循环列表并对每个产品进行 1 个查询,但是包含 1000 个对象的列表会杀死我的数据库。有没有更好的办法?