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 %}