hotfix: tabulka došlých řešení
This commit is contained in:
parent
2393c76d63
commit
9a3f51ca6b
1 changed files with 6 additions and 1 deletions
|
@ -102,16 +102,21 @@ class TabulkaOdevzdanychReseniView(ListView):
|
||||||
)
|
)
|
||||||
#self.problemy = list(filter(lambda problem: problem.rocnik() == self.aktualni_rocnik, self.problemy)) # DB HOG? # FIXME: některé problémy nemají ročník....
|
#self.problemy = list(filter(lambda problem: problem.rocnik() == self.aktualni_rocnik, self.problemy)) # DB HOG? # FIXME: některé problémy nemají ročník....
|
||||||
# NOTE: Protože řešení odkazuje přímo na Problém a QuerySet na Hodnocení je nepolymorfní, musíme porovnávat taky s nepolymorfními Problémy.
|
# NOTE: Protože řešení odkazuje přímo na Problém a QuerySet na Hodnocení je nepolymorfní, musíme porovnávat taky s nepolymorfními Problémy.
|
||||||
self.problemy = self.problemy.non_polymorphic()
|
self.problemy = self.problemy.non_polymorphic().distinct()
|
||||||
|
|
||||||
self.reseni = self.reseni.filter(cas_doruceni__date__gt=reseni_od, cas_doruceni__date__lte=reseni_do)
|
self.reseni = self.reseni.filter(cas_doruceni__date__gt=reseni_od, cas_doruceni__date__lte=reseni_do)
|
||||||
if jen_neobodovane:
|
if jen_neobodovane:
|
||||||
self.reseni = self.reseni.filter(hodnoceni__body__isnull=True)
|
self.reseni = self.reseni.filter(hodnoceni__body__isnull=True)
|
||||||
|
self.jen_neobodovane = jen_neobodovane
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
self.inicializuj_osy_tabulky()
|
self.inicializuj_osy_tabulky()
|
||||||
qs = super().get_queryset()
|
qs = super().get_queryset()
|
||||||
|
if self.jen_neobodovane:
|
||||||
|
qs = qs.filter(body__isnull=True)
|
||||||
qs = qs.filter(problem__in=self.problemy, reseni__in=self.reseni, reseni__resitele__in=self.resitele).select_related('reseni', 'problem').prefetch_related('reseni__resitele__osoba')
|
qs = qs.filter(problem__in=self.problemy, reseni__in=self.reseni, reseni__resitele__in=self.resitele).select_related('reseni', 'problem').prefetch_related('reseni__resitele__osoba')
|
||||||
|
# FIXME tohle je ošklivé, na špatném místě a pomalé. Ale moc mě štvalo, že musím hledat správná místa v tabulce.
|
||||||
|
self.problemy = self.problemy.filter(id__in=qs.values("problem__id"))
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
def get_context_data(self, *args, **kwargs):
|
def get_context_data(self, *args, **kwargs):
|
||||||
|
|
Loading…
Reference in a new issue