Hodnocení dovolíme i polovyplněné instance

Motivace: Hodnotící tabulka jinak musí vždy být vyplněná celá, což je
nehezké.

Lepší by bylo vyrobit custom validaci, která bude zaručovat, že
hodnocení bude buď mít vyplněné číslo i body, nebo naopak ani jedno, ale
aktuální způsob napsání vyžaduje netriviální zásah a více mozkové
kapacity, než se v tuhle denní dobu dá sehnat.
This commit is contained in:
MaM Web user 2021-09-06 03:07:43 +02:00
parent eab9edde8e
commit 6aeebef4d8
2 changed files with 26 additions and 2 deletions

View file

@ -0,0 +1,24 @@
# Generated by Django 2.2.24 on 2021-09-06 01:05
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('seminar', '0097_auto_20210903_0112'),
]
operations = [
migrations.AlterField(
model_name='hodnoceni',
name='body',
field=models.DecimalField(blank=True, decimal_places=1, max_digits=8, null=True, verbose_name='body'),
),
migrations.AlterField(
model_name='hodnoceni',
name='cislo_body',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='hodnoceni', to='seminar.Cislo', verbose_name='číslo pro body'),
),
]

View file

@ -1156,10 +1156,10 @@ class Hodnoceni(SeminarModelBase):
body = models.DecimalField(max_digits=8, decimal_places=1, verbose_name='body',
blank=False, null=True)
blank=True, null=True)
cislo_body = models.ForeignKey(Cislo, verbose_name='číslo pro body',
related_name='hodnoceni', blank=False, null=True, on_delete=models.PROTECT)
related_name='hodnoceni', blank=True, null=True, on_delete=models.PROTECT)
reseni = models.ForeignKey(Reseni, verbose_name='řešení', on_delete=models.CASCADE)