我有一个包含新闻和类别的简单模型:
class Category(models.Model):
name = models.CharField()
slug = models.SlugField()
class News(models.Model):
category = models.ManyToManyField(Category)
title = models.CharField()
slug = models.SlugField()
text = models.TextField()
date = models.DateTimeField()
我想统计每个类别的新闻并将其显示在网站上,如下所示:
Sport (5)
School (4)
Films (6)
Computer (2)
etc...
我怎样才能做到这一点??
Thanks!
查看 Django 1.1 中的 annotate() 函数。
http://docs.djangoproject.com/en/dev/topics/db/aggregation/#topics-db-aggregation
示例(来自上面的 URL):
>>> q = Book.objects.annotate(num_authors=Count('authors'))
>>> q[0].num_authors
2
>>> q[1].num_authors
1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)