两种模式:
class KeywordCategory(models.Model):
class Meta():
db_table = 'keywords_category'
category_name = models.CharField(max_length = 100)
...
class Keyword(models.Model):
class Meta():
db_table = 'keywords'
keyword_category = models.ForeignKey(KeywordCategory)
keyword_text = models.CharField(max_length = 100)我需要得到所有的类别和在他们的条目计数。
SQL语法:
SELECT keywords_category.*, COUNT(keywords.id) as count_keywords
FROM keywords_category
LEFT JOIN keywords ON keywords_category.id=keywords.keyword_category_id
GROUP by keywords_category.id发布于 2014-11-23 19:16:33
这将返回一个字典,键将是keyword_category和total。
from django.db.models import Count
kw_counts = Keyword.objects.all().values('keyword_category').annotate(
total=Count('keyword_category')
)发布于 2014-11-23 19:14:53
获取所有类别:
categories = KeywordCategory.objects.all()数一数其中的条目:
for category in categories:
category.keyword_set.count()发布于 2014-11-23 19:16:31
keywords = KeywordCategory.objects.all()
print [(k, k.keyword_set.count()) for k in keywords]https://stackoverflow.com/questions/27093094
复制相似问题