Django:如何计算与 Django 中的类别相关的帖子?
Django: how to count posts related to a category in django?
我有一个模型 class Category
和一个模型 class Course
。我想计算与模型相关的所有课程,例如:Web 开发 - 26 门课程 我不知道该怎么做,因为这是两个不同的模型。
class Category(models.Model):
title = models.CharField(max_length=1000)
class Course(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
course_title = models.CharField(max_length=100, null=True, blank=True)
course_category = models.ForeignKey(Category, on_delete=models.DO_NOTHING, null=True, blank=True)
首先,您需要在 course_category
字段中设置 related_name
属性。
class Course(models.Model):
...
course_category = models.ForeignKey(Category, realted_name="courses" on_delete=models.DO_NOTHING, null=True, blank=True)
接下来,您可以使用此名称聚合查询,如下所示。
from django.db.models import Count
cateogries = Category.objects.annotate(number_of_courses = Count("courses")).all()
然后,每个 categories
都会有一个 number_of_courses
字段,表示课程的数量。
我有一个模型 class Category
和一个模型 class Course
。我想计算与模型相关的所有课程,例如:Web 开发 - 26 门课程 我不知道该怎么做,因为这是两个不同的模型。
class Category(models.Model):
title = models.CharField(max_length=1000)
class Course(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
course_title = models.CharField(max_length=100, null=True, blank=True)
course_category = models.ForeignKey(Category, on_delete=models.DO_NOTHING, null=True, blank=True)
首先,您需要在 course_category
字段中设置 related_name
属性。
class Course(models.Model):
...
course_category = models.ForeignKey(Category, realted_name="courses" on_delete=models.DO_NOTHING, null=True, blank=True)
接下来,您可以使用此名称聚合查询,如下所示。
from django.db.models import Count
cateogries = Category.objects.annotate(number_of_courses = Count("courses")).all()
然后,每个 categories
都会有一个 number_of_courses
字段,表示课程的数量。