Přidání Znalosti do modelu
This commit is contained in:
parent
174087edc7
commit
f61533df0a
3 changed files with 76 additions and 3 deletions
prednasky
|
@ -4,7 +4,7 @@ from reversion.admin import VersionAdmin
|
||||||
from django.utils.safestring import mark_safe
|
from django.utils.safestring import mark_safe
|
||||||
from django.utils.html import escape
|
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
|
from soustredeni.models import Soustredeni
|
||||||
|
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ admin.site.register(Seznam, SeznamAdmin)
|
||||||
class PrednaskaAdmin(VersionAdmin):
|
class PrednaskaAdmin(VersionAdmin):
|
||||||
list_display = ['nazev', 'org', 'obor']
|
list_display = ['nazev', 'org', 'obor']
|
||||||
list_filter = ['org', 'obor']
|
list_filter = ['org', 'obor']
|
||||||
search_fields = []
|
search_fields = ['nazev']
|
||||||
filter_horizontal = ('seznamy', )
|
filter_horizontal = ('seznamy', )
|
||||||
|
|
||||||
actions = ['move_to_soustredeni']
|
actions = ['move_to_soustredeni']
|
||||||
|
@ -97,3 +97,10 @@ class PrednaskaAdmin(VersionAdmin):
|
||||||
|
|
||||||
|
|
||||||
admin.site.register(Prednaska, PrednaskaAdmin)
|
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 django.db import models
|
||||||
|
|
||||||
from soustredeni.models import Soustredeni
|
from soustredeni.models import Soustredeni
|
||||||
from personalni.models import Organizator
|
from personalni.models import Organizator, Osoba
|
||||||
|
|
||||||
STAV_NAVRH = 1
|
STAV_NAVRH = 1
|
||||||
STAV_BUDE = 2
|
STAV_BUDE = 2
|
||||||
|
@ -63,6 +63,33 @@ class Prednaska(models.Model):
|
||||||
return "{} ({})".format(self.nazev, self.org)
|
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 Hlasovani(models.Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = 'prednasky_hlasovani'
|
db_table = 'prednasky_hlasovani'
|
||||||
|
|
Loading…
Reference in a new issue