33 lines
926 B
Python
33 lines
926 B
Python
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 '<Není zadaný>'
|
|
|
|
def node(self):
|
|
return None
|