Django 从另一个表中获取每条记录的总计数

Django 从另一个表中获取每条记录的总计数,django,Django,嗨,我有两张这样的桌子 class Category(models.Model): typeName= models.CharField(max_length=50 , null=False, blank=False ,choices=typeChoice ) typeImage =models.ImageField( blank=True, null=True , upload_to='ActivityType') class Products(Activity):

嗨,我有两张这样的桌子

class Category(models.Model):
     typeName= models.CharField(max_length=50 , null=False, blank=False ,choices=typeChoice )
     typeImage =models.ImageField( blank=True, null=True , upload_to='ActivityType')


class Products(Activity):
    activity = CharField(max_length=50 , null=False, blank=False)
    typeofproduct = models.ForeignKey(Category , on_delete=models.CASCADE)
现在在模板中,我想计算每个
类别的产品总数

就像我做的那样Category.objects.all()。现在,对于每个类别,产品表中每个产品的计数是多少。

您可以选择
类别
s:

from django.db.models import Count

Category.objects.annotate(
    num_products=Count('products')
)

您可以通过
Count()
方法来完成

from django.db.models import Count

categories = Category.objects.annotate(total_products=Count('products'))
然后,您可以通过以下方式使用此计数:

{% for cat in categories %}
   <p>Total Products: {{cat.total_products}}</p>
{% endfor %}
{%类别中的cat%}
产品总数:{cat.Total_Products}

{%endfor%}
谢谢大家的努力,如果我想从其他表中得到一个值,就像我有第三个表“视图”一样,只需一个小查询就可以了。保存的变量是isViewd True或False。那么,是否有可能根据每条记录获取该值呢?那么,一个带有
外键的表
视图
类别
?或带有Sir类别的
产品
{% for cat in categories %}
   <p>Total Products: {{cat.total_products}}</p>
{% endfor %}