From 261f2447e3303649d1164cfab0b2e09feff2f79c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= <jonas.havelka@volny.cz> Date: Sat, 1 Oct 2022 14:11:29 +0200 Subject: [PATCH] =?UTF-8?q?J=C3=A1=20u=C5=BE=20nev=C3=ADm,=20jak=20ur?= =?UTF-8?q?=C4=8Dovat=20deadliny=20=C5=99e=C5=A1en=C3=AD=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0104_hodnoceni_deadline_body.py | 49 ++++++++++--------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/seminar/migrations/0104_hodnoceni_deadline_body.py b/seminar/migrations/0104_hodnoceni_deadline_body.py index 66d8e61f..74992fb8 100644 --- a/seminar/migrations/0104_hodnoceni_deadline_body.py +++ b/seminar/migrations/0104_hodnoceni_deadline_body.py @@ -13,28 +13,6 @@ def prirad_deadliny(apps, schema_editor): for h in Hodnoceni.objects.all(): p = h.problem - try: - u = p.uloha - if u.cislo_zadani is not None: - d = Deadline.objects.filter(cislo=u.cislo_zadani, deadline__gte=h.reseni.cas_doruceni).first() - h.deadline_body = d - h.save() - continue - - except Exception: - pass - - try: - c = p.clanek - if c.cislo is not None: - d = Deadline.objects.filter(cislo=c.cislo, deadline__gte=h.reseni.cas_doruceni).first() - h.deadline_body = d - h.save() - continue - - except Exception: - pass - try: t = p.tema d = Deadline.objects.filter(cislo__rocnik=t.rocnik, deadline__gte=h.reseni.cas_doruceni).first() @@ -48,6 +26,33 @@ def prirad_deadliny(apps, schema_editor): except Exception: pass + + cislo = None + + try: + u = p.uloha + cislo = u.cislo_zadani + except Exception: + pass + + try: + c = p.clanek + if c.cislo is not None: + cislo = c.cislo + except Exception: + pass + + if cislo is None: + cislo = h.cislo_body + + if cislo is not None: + d = Deadline.objects.filter(cislo=cislo, deadline__gte=h.reseni.cas_doruceni).first() + if d is None: + d = Deadline.objects.filter(cislo=cislo).last() + h.deadline_body = d + h.save() + continue + log.warning(f"Deadline hodnocení {h.id} se nepodařil určit exaktnějším způsobem. Zkouším další.") d = Deadline.objects.filter(deadline__gte=h.reseni.cas_doruceni).first()