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.