Přidání Znalosti do modelu
This commit is contained in:
parent
174087edc7
commit
f61533df0a
3 changed files with 76 additions and 3 deletions
|
@ -4,7 +4,7 @@ from reversion.admin import VersionAdmin
|
|||
from django.utils.safestring import mark_safe
|
||||
from django.utils.html import escape
|
||||
|
||||
from .models import Prednaska, Seznam, STAV_NAVRH
|
||||
from .models import Prednaska, Seznam, STAV_NAVRH, Znalost
|
||||
from soustredeni.models import Soustredeni
|
||||
|
||||
|
||||
|
@ -64,7 +64,7 @@ admin.site.register(Seznam, SeznamAdmin)
|
|||
class PrednaskaAdmin(VersionAdmin):
|
||||
list_display = ['nazev', 'org', 'obor']
|
||||
list_filter = ['org', 'obor']
|
||||
search_fields = []
|
||||
search_fields = ['nazev']
|
||||
filter_horizontal = ('seznamy', )
|
||||
|
||||
actions = ['move_to_soustredeni']
|
||||
|
@ -97,3 +97,10 @@ class PrednaskaAdmin(VersionAdmin):
|
|||
|
||||
|
||||
admin.site.register(Prednaska, PrednaskaAdmin)
|
||||
|
||||
|
||||
class ZnalostAdmin(PrednaskaAdmin): # Trochu hack, ať nemusím vypisovat všechno znovu
|
||||
list_display = []
|
||||
list_filter = []
|
||||
|
||||
admin.site.register(Znalost, ZnalostAdmin)
|
||||
|
|
39
prednasky/migrations/0019_znalost_hlasovanioznalostech.py
Normal file
39
prednasky/migrations/0019_znalost_hlasovanioznalostech.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Generated by Django 4.2.16 on 2025-01-24 13:41
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('personalni', '0019_rename_upozorneni_resitel_upozornovat_na_opravy_reseni'),
|
||||
('prednasky', '0018_post_split_soustredeni'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Znalost',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('nazev', models.CharField(help_text='Např. Neuronové sítě', max_length=200, verbose_name='Nadpis')),
|
||||
('text', models.TextField(blank=True, help_text='Např. Perceptron, vrstevnatá síť, forward a backward propagation', null=True, verbose_name='Detailní popis')),
|
||||
('seznamy', models.ManyToManyField(to='prednasky.seznam')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Znalost k přednáškám',
|
||||
'verbose_name_plural': 'Znalosti k přednáškám',
|
||||
'db_table': 'prednasky_znalost',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='HlasovaniOZnalostech',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('odpoved', models.CharField(choices=[(-1, 'Tohle celkem umím'), (0, 'Už jsem o tom slyšel, ale neřekl bychm, že to úplně umím'), (1, 'Tohle vůbec neznám')], max_length=16, verbose_name='odpověď')),
|
||||
('seznam', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='prednasky.seznam')),
|
||||
('ucastnik', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='personalni.osoba')),
|
||||
('znalost', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='prednasky.znalost')),
|
||||
],
|
||||
),
|
||||
]
|
|
@ -1,7 +1,7 @@
|
|||
from django.db import models
|
||||
|
||||
from soustredeni.models import Soustredeni
|
||||
from personalni.models import Organizator
|
||||
from personalni.models import Organizator, Osoba
|
||||
|
||||
STAV_NAVRH = 1
|
||||
STAV_BUDE = 2
|
||||
|
@ -63,6 +63,33 @@ class Prednaska(models.Model):
|
|||
return "{} ({})".format(self.nazev, self.org)
|
||||
|
||||
|
||||
class Znalost(models.Model):
|
||||
class Meta:
|
||||
db_table = 'prednasky_znalost'
|
||||
verbose_name = 'Znalost k přednáškám'
|
||||
verbose_name_plural = 'Znalosti k přednáškám'
|
||||
|
||||
nazev = models.CharField('Nadpis', max_length=200, blank=False, null=False, help_text = 'Např. Neuronové sítě')
|
||||
text = models.TextField('Detailní popis', blank=True, null=True, help_text="Např. Perceptron, vrstevnatá síť, forward a backward propagation")
|
||||
seznamy = models.ManyToManyField(Seznam)
|
||||
|
||||
def __str__(self):
|
||||
return self.nazev
|
||||
|
||||
|
||||
class HlasovaniOZnalostech(models.Model):
|
||||
class ODPOVED(models.IntegerChoices):
|
||||
UMIM = -1, 'Tohle celkem umím'
|
||||
CIRCA = 0, 'Už jsem o tom slyšel, ale neřekl bychm, že to úplně umím'
|
||||
NEUMIM = 1, 'Tohle vůbec neznám'
|
||||
|
||||
odpoved = models.CharField(u'odpověď', max_length=16, choices=ODPOVED.choices, blank=False, null=False)
|
||||
znalost = models.ForeignKey(Znalost, on_delete=models.CASCADE, blank=False, null=False)
|
||||
ucastnik = models.ForeignKey(Osoba, on_delete=models.CASCADE, blank=False, null=False)
|
||||
seznam = models.ForeignKey(Seznam, on_delete=models.SET_NULL, blank=True, null=True)
|
||||
|
||||
|
||||
|
||||
class Hlasovani(models.Model):
|
||||
class Meta:
|
||||
db_table = 'prednasky_hlasovani'
|
||||
|
|
Loading…
Reference in a new issue