我有三种型号,分别是
class Category(models.Model):
name = models.CharField(max_length=100)
class Subcategory(models.Model):
name = models.CharField(max_length=100)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
class Item(models.Model):
name = models.CharField(max_length=100)
subcategory = models.ForeignKey(Subcategory, on_delete=models.CASCADE)
在我的Html模板中,我希望访问每个给定类别中的项目数。我尝试过使用_set方法,但它在category.subcategory_set.course_set.count
上不起作用。如何获取每个给定类别下的课程数量。我没有将类别作为外键包含在我的项目模型中,因为这可能会导致为项目分配错误的类别子类别对
请不要在模板中执行此操作。Django的模板语言受到严格限制,以防止人们在模板中编写业务逻辑。此外,即使这是可能的,由于N+1问题,也将是低效的
通过定义查询集,可以计算每个类别的项目数:
由此查询集生成的}相关
Category
对象将具有一个额外的属性.num_items
,该属性包含与相关的Subcategory
相关的项目总数,该Subcategory
与{相关问题 更多 >
编程相关推荐