From ea532c681a26d7638f34cc51c19ac75edbf856d9 Mon Sep 17 00:00:00 2001 From: Pavel 'LEdoian' Turinsky Date: Wed, 20 Nov 2019 20:45:32 +0100 Subject: [PATCH] =?UTF-8?q?Test:=20catchov=C3=A1n=C3=AD=20neexistuj=C3=ADc?= =?UTF-8?q?=C3=ADch=20vazeb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seminar/models.py | 42 +++++++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/seminar/models.py b/seminar/models.py index 0b33ddcc..fb49644d 100644 --- a/seminar/models.py +++ b/seminar/models.py @@ -387,7 +387,11 @@ class Rocnik(SeminarModelBase): def save(self, *args, **kwargs): super().save(*args, **kwargs) # *Node.save() aktualizuje název *Nodu. - self.rocniknode.save() + try: + self.rocniknode.save() + except RelatedObjectDoesNotExist: + # Neexistující *Node nemá smysl aktualizovat. + pass def cislo_pdf_filename(self, filename): rocnik = str(self.rocnik.rocnik) @@ -484,7 +488,11 @@ class Cislo(SeminarModelBase): def save(self, *args, **kwargs): super().save(*args, **kwargs) # *Node.save() aktualizuje název *Nodu. - self.cislonode.save() + try: + self.cislonode.save() + except RelatedObjectDoesNotExist: + # Neexistující *Node nemá smysl aktualizovat. + pass @reversion.register(ignore_duplicates=True) class Organizator(SeminarModelBase): @@ -745,7 +753,11 @@ class Clanek(Problem): def save(self, *args, **kwargs): super().save(*args, **kwargs) # *Node.save() aktualizuje název *Nodu. - self.claneknode.save() + try: + self.claneknode.save() + except RelatedObjectDoesNotExist: + # Neexistující *Node nemá smysl aktualizovat. + pass class Text(SeminarModelBase): class Meta: @@ -807,8 +819,16 @@ class Uloha(Problem): def save(self, *args, **kwargs): super().save(*args, **kwargs) # *Node.save() aktualizuje název *Nodu. - self.ulohazadaninode.save() - self.ulohavzoraknode.save() + try: + self.ulohazadaninode.save() + except RelatedObjectDoesNotExist: + # Neexistující *Node nemá smysl aktualizovat. + pass + try: + self.ulohavzoraknode.save() + except RelatedObjectDoesNotExist: + # Neexistující *Node nemá smysl aktualizovat. + pass @reversion.register(ignore_duplicates=True) @@ -994,7 +1014,11 @@ class Pohadka(SeminarModelBase): def save(self, *args, **kwargs): super().save(*args, **kwargs) # *Node.save() aktualizuje název *Nodu. - self.pohadkanode.save() + try: + self.pohadkanode.save() + except RelatedObjectDoesNotExist: + # Neexistující *Node nemá smysl aktualizovat. + pass @reversion.register(ignore_duplicates=True) class Soustredeni_Ucastnici(SeminarModelBase): @@ -1108,7 +1132,11 @@ class Konfera(models.Model): def save(self, *args, **kwargs): super().save(*args, **kwargs) # *Node.save() aktualizuje název *Nodu. - self.konferanode.save() + try: + self.konferanode.save() + except RelatedObjectDoesNotExist: + # Neexistující *Node nemá smysl aktualizovat. + pass # Vazebna tabulka. Mozna se generuje automaticky.