Browse Source

Revert "Prednasky: v aktuálních výsledcích jen aktuální výsledky"

Zase to nefungovalo

This reverts commit bd92068b37.
middleware_test
MaM Web user 6 years ago
parent
commit
0aa5faa995
  1. 9
      prednasky/views.py

9
prednasky/views.py

@ -3,7 +3,7 @@ from django.shortcuts import render, get_object_or_404
from django.views import generic from django.views import generic
from django.shortcuts import HttpResponseRedirect from django.shortcuts import HttpResponseRedirect
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.db.models import Sum, Subquery from django.db.models import Sum
from prednasky.models import Prednaska, Hlasovani, Seznam, STAV_NAVRH from prednasky.models import Prednaska, Hlasovani, Seznam, STAV_NAVRH
from seminar.models import Soustredeni from seminar.models import Soustredeni
@ -55,14 +55,9 @@ class SeznamListView(generic.ListView):
def get_queryset(self): def get_queryset(self):
self.seznam = get_object_or_404(Seznam, id=self.kwargs["seznam"]) self.seznam = get_object_or_404(Seznam, id=self.kwargs["seznam"])
# Od "annotate" je to hack opsaný ze stack overflow, kterým se filtrují
# jen výsledky z aktuálního seznamu. Dosud se zobrazoval součet bodů u
# přednášky od počátku historie.
# TODO: udělat lépe (Django 2 má Sum s filtrem)
prednasky = Prednaska.objects.filter(seznamy=self.seznam).order_by( prednasky = Prednaska.objects.filter(seznamy=self.seznam).order_by(
'org__user__first_name', 'org__user__last_name' 'org__user__first_name', 'org__user__last_name'
).annotate(body=Subquery(Hlasovani.objects.filter(seznam=self.seznam) ).annotate(body=Sum('hlasovani__body'))
.values('body').annotate(b=Sum('body')).values('b')))
return prednasky return prednasky

Loading…
Cancel
Save