У меня есть три модели, Претендент, Неделя и Vote, каждый соперник может иметь голоса, основанные на неделе,Можно ли аннотировать запрос Django ORM со сложным запросом
class Contender(models.Model)
week = models.ManyToManyField(Week)
class Week(models.Model):
date_start = models.DateField()
class Vote(models.Model):
contender = models.ForeignKey(Contender)
week = models.ForeignKey(Week)
Я хотел бы добавить что-то Претендент, так что я сделал это:
c = Count('vote', vote__week__date_start = "2011-01-03")
contenders = Contender.objects.all().annotate(vote_count=c).order_by('-vote_count')
contenders[0].vote_count
проблема заключается в том, что, когда я добавить голос с другой неделей (то есть date_start с различным) .vote_count значения изменяется, и, таким образом, кажется, что дополнительные параметры переходят объект Count не имеет значения.
Как это сделать аннотацию в Django ORM?