Я пытаюсь сделать математику / найти максимальную / среднюю и т. Д. в моих представлениях, а затем визуализировать их в шаблоне, но я не могу понять, как заставить его работать. Расчеты должны быть сделаны над связанными объектами, и я чувствую, что я все перепробовал. На моем остроумии.
views.py
def program_detail_view(request, primary_key):
survey = Survey.objects.get(pk=primary_key)
maxResp = survey.objects.annotate(max_resp=Max('responseRelevance'))
context = {'survey' : survey, 'maxResp': maxResp}
return render(request, 'relevance/programStats.html', context=context)
models.py
class Survey(models.Model):
...
class Choice(models.Model):
survey = models.ForeignKey(Survey, on_delete=models.CASCADE)
creationDate = models.DateTimeField(auto_now_add=True)
pce = models.IntegerField(
validators=[MaxValueValidator(4),
MinValueValidator(1)], choices=radioChoices,
)
interest = models.IntegerField(
validators=[MaxValueValidator(4),
MinValueValidator(1)], choices=radioChoices,
)
responseRelevance = models.IntegerField(blank=True)
template.html
<li>Overall Relevance Score: {{ maxResp }}</li>
Я ожидаю, что представления будут выводить максимальный ответ из набора вариантов, но вместо этого в шаблоне ничего не отображается, как бы я ни пытался его вызвать. Я пробовал то же самое для средних и других функций аннотирования / агрегирования.