gpt4 book ai didi

django - 从另一个表中获取每条记录的总数

转载 作者:行者123 更新时间:2023-12-04 10:01:44 24 4
gpt4 key购买 nike

嗨,我有 2 张这样的 table

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 的总产品数量。

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

最佳答案

您可以 .annotate(..) [Django-doc] Category s:

from django.db.models import Count

Category.objects.annotate(
num_products=Count('products')
)
Category从此查询集产生的对象将有一个额外的属性 .num_products包含产品数量。

您还可以通过 View 的存在对其进行注释。对象,例如:
from django.db.models import Count, Exists, OuterRef

Category.objects.annotate(
num_products=Count('products'),
is_viewed=Exists(View.objects.filter(category=OuterRef('pk')))
)

关于django - 从另一个表中获取每条记录的总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61784371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com