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.... | ||||
| 		# 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) | ||||
| 		if jen_neobodovane: | ||||
| 			self.reseni = self.reseni.filter(hodnoceni__body__isnull=True) | ||||
| 		self.jen_neobodovane = jen_neobodovane | ||||
| 
 | ||||
| 	def get_queryset(self): | ||||
| 		self.inicializuj_osy_tabulky() | ||||
| 		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') | ||||
| 		# 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 | ||||
| 
 | ||||
| 	def get_context_data(self, *args, **kwargs): | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue