Inicialzujeme osy na správnou sadu objektů, snad
This commit is contained in:
parent
cd914f4524
commit
dd0872cc83
1 changed files with 6 additions and 0 deletions
|
@ -108,6 +108,11 @@ class TabulkaOdevzdanychReseniView(ListView):
|
||||||
# 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().distinct()
|
self.problemy = self.problemy.non_polymorphic().distinct()
|
||||||
|
|
||||||
|
# self.problemy jsou teď už správně, zrelevantníme self.reseni a self.resitele
|
||||||
|
self.reseni = self.reseni.filter(problem__in=self.problemy).distinct()
|
||||||
|
if resitele == FiltrForm.RESITELE_RELEVANTNI:
|
||||||
|
self.resitele = self.resitele.filter(reseni__in=self.reseni).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)
|
||||||
|
@ -121,6 +126,7 @@ class TabulkaOdevzdanychReseniView(ListView):
|
||||||
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').distinct()
|
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').distinct()
|
||||||
# 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.
|
# 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"))
|
self.problemy = self.problemy.filter(id__in=qs.values("problem__id"))
|
||||||
|
# TODO: liší se nějak od `self.problemy = self.problemy.filter(hodnoceni__in=qs)`?
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
def get_context_data(self, *args, **kwargs):
|
def get_context_data(self, *args, **kwargs):
|
||||||
|
|
Loading…
Reference in a new issue