Я не уверен, что это возможно или нет, но я хочу подсчитать все голоса, связанные с моделью, с точным атрибутом vote_type.Как считать все модели ForeignKey с точными значениями полей в Django?
Вот модель:
class Link(models.Model):
title = models.CharField(max_length=200)
. . .
class Vote(models.Model):
UP, DOWN = range(2)
TYPE_CHOICES = [(UP, "Upvote"), (DOWN, "DownVote")]
link = models.ForeignKey(Link, related_name='votes')
vote_type = models.IntegerField(choices=TYPE_CHOICES, db_index=True)
. . .
Я использовал это, чтобы сосчитать все голоса:
Link.objects.annotate(ups=Count('votes')).order_by('-ups')
и подумал, что я мог бы использовать это, чтобы достичь того, чего я хочу:
Link.objects.annotate(ups=Count('votes__vote_type__exact=1')).order_by('-ups')
Но, похоже, я не могу использовать синтаксис filter().
Я использую Django 1.8.4.