52 lines
1.4 KiB
Python
52 lines
1.4 KiB
Python
from django.db import models
|
|
|
|
from mamweb.models.base import SeminarModelBase
|
|
from .reseni import Reseni
|
|
from tvorba.models.cislo import Cislo
|
|
from tvorba.models.deadline import Deadline
|
|
from tvorba.models.problem import Problem
|
|
|
|
|
|
class Hodnoceni(SeminarModelBase):
|
|
class Meta:
|
|
db_table = 'seminar_hodnoceni'
|
|
verbose_name = 'Hodnocení'
|
|
verbose_name_plural = 'Hodnocení'
|
|
|
|
# Interní ID
|
|
id = models.AutoField(primary_key=True)
|
|
|
|
body = models.DecimalField(
|
|
max_digits=8, decimal_places=1, verbose_name='body',
|
|
blank=True, null=True,
|
|
)
|
|
|
|
cislo_body = models.ForeignKey(
|
|
Cislo, verbose_name='číslo pro body',
|
|
related_name='hodnoceni', blank=True, null=True,
|
|
on_delete=models.PROTECT,
|
|
)
|
|
|
|
# V ročníku < 26 nastaveno na deadline vygenerovaný pro původní cislo_body
|
|
deadline_body = models.ForeignKey(
|
|
Deadline, verbose_name='deadline pro body',
|
|
related_name='hodnoceni', blank=True, null=True,
|
|
on_delete=models.PROTECT,
|
|
)
|
|
|
|
reseni = models.ForeignKey(
|
|
Reseni, verbose_name='řešení', on_delete=models.CASCADE,
|
|
)
|
|
|
|
problem = models.ForeignKey(
|
|
Problem, verbose_name='problém',
|
|
related_name='hodnoceni', on_delete=models.PROTECT,
|
|
)
|
|
|
|
feedback = models.TextField(
|
|
'zpětná vazba', blank=True, default='',
|
|
help_text='Zpětná vazba řešiteli (plain text)',
|
|
)
|
|
|
|
def __str__(self):
|
|
return "{}, {}, {}".format(self.problem, self.reseni, self.body)
|