django视图只返回多个结果

时间:2011-02-16 12:19:44

标签: django django-views django-templates

我有一个项目和类别模型。

我希望只返回类别的结果,如果他们有1个项目或更多......

这是我到目前为止所做的,但它似乎返回了错误的结果。

def category():
    return { 'categories': Category.objects.filter(project=True).all().order_by('id')}

任何想法?

class Category(models.Model):
    title = models.CharField(max_length=30)
    slug  = models.SlugField(max_length=100, blank=True, null=True)

class Project(ImageModel):
    ...
    ...
    location = models.CharField(max_length=50, help_text='The city, town or area of the project.', null=True, blank=True)
    categories = models.ManyToManyField(Category)
    ...
    ...

1 个答案:

答案 0 :(得分:1)

Category.project是一名经理。

您可以使用注释。类似的东西:

Category.objects.annotate(projects=Count('project')).filter(projects__gt=1)

请参阅annotations and aggregations

上的文档