WIP: Stáhnout řešení jako ZIP #84
					 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