这是我的models.py
class Subject(models.Model):
title=models.CharField(max_length=150)
slug=AutoSlugField(populate_from='title',unique=True)
body=models.TextField(max_length=5000, blank=True, null=True)
author=models.ForeignKey(User, related_name='posted_subjects')
created=models.DateTimeField(default=timezone.now)
active=models.BooleanField(default=True)
points=models.ManyToManyField(settings.AUTH_USER_MODEL,
related_name='liked_subjects',
blank=True)
如何获取特定用户发布的主题的所有要点?我的意思是,如果用户"马克"已经发布了30个科目,我如何得到这30个科目中所有积分的总和?
答案 0 :(得分:2)
您可以使用aggregation
:
from django.db.models import Count
data = Subject.filter(author__username='Mark').aggregate(points_count=Count('points'))
points_count = data['points_count']