我有一个评级对象列表,其中每个评级都与一个标准相关联
我正在尝试编写一个Query来返回每个给定StudySpace的投票数分类
e.g。
我试过并提出以下建议:
studyspace_rating_breakdown = ratings.values('studyspace').annotate(num_votes=Count('studyspace')).order_by('-num_votes')[:3]
然而,这会返回studyspace的id。
[{'studyspace': 8, 'num_votes': 421}, {'studyspace': 7, 'num_votes': 91}, {'studyspace': 2, 'num_votes': 2}]
有没有办法可以修改查询以返回studyspace名称字段而不是ID?
我不想写模板标签从模板中的ID中查找studyspace名称
模特本身:
class StudySpace(models.Model):
department = models.ForeignKey(Department, on_delete=models.CASCADE)
space_name = models.CharField(max_length=200, unique=True)
...
class Rating(models.Model):
studyspace = models.ForeignKey(StudySpace, on_delete=models.CASCADE)
student = models.ForeignKey(Student, on_delete=models.CASCADE)
rating = models.IntegerField(default=3)
...
答案 0 :(得分:0)
试着在评论部分提出答案,你可以很容易地做到:
ratings.values('studyspace', 'studyspace__space_name')
显示相关字段。有关详细信息,请查看values的django query api。