我有两个与此相关的模型; Item
和Category
,它们如下所示:
class Category(models.Model):
name = models.CharField(max_length=200)
items = models.ManyToManyField(Item)
class Item(models.Model):
name = models.CharField(max_length=200)
我想创建一个列出所有Categories
及其各自Items
的网页。我意识到我可以迭代Category.objects.all()
并为每个实例检索.items.all()
,但这似乎非常低效。是否有一种方法可以在一定数量的查询中执行此操作,而不是根据类别数量进行扩展?我设想结果是包含Categories
的{{1}}的某种二维数据结构,然后我可以在嵌套循环中在模板中迭代。
我已经看到像this one这样的问题处理类似的问题,但这些问题通常围绕着他们希望查找的一些Items
实例(实际上,可以在常量中完成)查询数量。)