[英]How to count products in category django
我需要显示每个类别中有多少项目,例如我在 Phones 类别中有 3 个项目,我想做这个Phones(3) 。 我尝试了一些模型中的方法,但它不起作用。
def count_products(self):
return Category.objects.all().count()
也在views.py中尝试过:
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['grade_info'] = self.get_ordered_grade_info()
context['category'] = Category.objects.count()
return context
您可以使用annotate
函数在数据库级别对数据进行聚合计算,例如:
from django.db.models import Count
catigouris = Category.objects.annotate(
items_count=Count('related_name_to_items')
)
上面的 ORM 查询将返回一个名为items_count
按类别分组的额外属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.