import logging from django.db import models from django.utils.functional import cached_property from .problem import Problem from .cislo import Cislo class Clanek(Problem): class Meta: db_table = 'seminar_clanky' verbose_name = 'Článek' verbose_name_plural = 'Články' cislo = models.ForeignKey( Cislo, blank=True, null=True, on_delete=models.PROTECT, verbose_name='číslo vydání', related_name='vydane_clanky', ) @cached_property def kod_v_rocniku(self): if self.stav == Problem.STAV_ZADANY or self.stav == Problem.STAV_VYRESENY: # Nemělo by být potřeba # if self.nadproblem: # return self.nadproblem.kod_v_rocniku+".c{}".format(self.kod) return "c{}".format(self.kod) logger = logging.getLogger(__name__) logger.warning(f"K problému {self} byl vyžadován kód v ročníku, i když není zadaný ani vyřešený.") return '' def node(self): return None