From 8d48e8ee83c826f48e0a70970edd92517472150f Mon Sep 17 00:00:00 2001 From: Anet Date: Tue, 16 Apr 2019 21:30:56 +0200 Subject: [PATCH] models.py: prehozeni Osoba a Skola, zmena nazvu knihovny, carky a pod. --- seminar/models.py | 121 +++++++++++++++++++++++----------------------- 1 file changed, 61 insertions(+), 60 deletions(-) diff --git a/seminar/models.py b/seminar/models.py index 96bf88d3..a2767870 100644 --- a/seminar/models.py +++ b/seminar/models.py @@ -7,7 +7,7 @@ from django.contrib import auth from django.utils import timezone from django.conf import settings from django.utils.encoding import python_2_unicode_compatible -from django.utils.encoding import force_unicode +from django.utils.encoding import force_text from django.utils.text import slugify from django.core.urlresolvers import reverse from django.core.cache import cache @@ -50,62 +50,6 @@ class SeminarModelBase(models.Model): # viz https://ovvp.mff.cuni.cz/wiki/aesop/export-skol. # -@reversion.register(ignore_duplicates=True) -@python_2_unicode_compatible -class Skola(SeminarModelBase): - - class Meta: - db_table = 'seminar_skoly' - verbose_name = 'Škola' - verbose_name_plural = 'Školy' - ordering = ['mesto', 'nazev'] - - # Interní ID - id = models.AutoField(primary_key = True) - - # Aesopi ID "izo:..." nebo "aesop:..." - # NULL znamená v exportu do aesopa "ufo" - aesop_id = models.CharField('Aesop ID', max_length=32, blank=True, default='', - help_text='Aesopi ID typu "izo:..." nebo "aesop:..."') - - # IZO školy (jen české školy) - izo = models.CharField('IZO', max_length=32, blank=True, - help_text='IZO školy (jen české školy)') - - # Celý název školy - nazev = models.CharField('název', max_length=256, - help_text='Celý název školy') - - # Zkraceny nazev pro zobrazení ve výsledkovce, volitelné. - # Není v Aesopovi, musíme vytvářet sami. - kratky_nazev = models.CharField('zkrácený název', max_length=256, blank=True, - help_text="Zkrácený název pro zobrazení ve výsledkovce") - - # Ulice může být jen číslo - ulice = models.CharField('ulice', max_length=256) - - mesto = models.CharField('město', max_length=256) - - psc = models.CharField('PSČ', max_length=32) - - # ISO 3166-1 dvojznakovy kod zeme velkym pismem (CZ, SK) - # Ekvivalentní s CharField(max_length=2, default='CZ', ...) - stat = CountryField('stát', default='CZ', - help_text='ISO 3166-1 kód země velkými písmeny (CZ, SK, ...)') - - # Jaké vzdělání škpla poskytuje? - je_zs = models.BooleanField('základní stupeň', default=True) - je_ss = models.BooleanField('střední stupeň', default=True) - - poznamka = models.TextField('neveřejná poznámka', blank=True, - help_text='Neveřejná poznámka ke škole (plain text)') - - kontaktni_osoba = models.ForeignKey(Osoba, verbose_name='Kontaktní osoba', - blank=True, null=True) - - def __str__(self): - return force_unicode('%s, %s, %s' % (self.nazev, self.ulice, self.mesto)) - @reversion.register(ignore_duplicates=True) @python_2_unicode_compatible class Osoba(SeminarModelBase): @@ -185,6 +129,63 @@ class Osoba(SeminarModelBase): def __str__(self): return force_unicode("Osoba({})".format(self.plne_jmeno())) + +@reversion.register(ignore_duplicates=True) +@python_2_unicode_compatible +class Skola(SeminarModelBase): + + class Meta: + db_table = 'seminar_skoly' + verbose_name = 'Škola' + verbose_name_plural = 'Školy' + ordering = ['mesto', 'nazev'] + + # Interní ID + id = models.AutoField(primary_key = True) + + # Aesopi ID "izo:..." nebo "aesop:..." + # NULL znamená v exportu do aesopa "ufo" + aesop_id = models.CharField('Aesop ID', max_length=32, blank=True, default='', + help_text='Aesopi ID typu "izo:..." nebo "aesop:..."') + + # IZO školy (jen české školy) + izo = models.CharField('IZO', max_length=32, blank=True, + help_text='IZO školy (jen české školy)') + + # Celý název školy + nazev = models.CharField('název', max_length=256, + help_text='Celý název školy') + + # Zkraceny nazev pro zobrazení ve výsledkovce, volitelné. + # Není v Aesopovi, musíme vytvářet sami. + kratky_nazev = models.CharField('zkrácený název', max_length=256, blank=True, + help_text="Zkrácený název pro zobrazení ve výsledkovce") + + # Ulice může být jen číslo + ulice = models.CharField('ulice', max_length=256) + + mesto = models.CharField('město', max_length=256) + + psc = models.CharField('PSČ', max_length=32) + + # ISO 3166-1 dvojznakovy kod zeme velkym pismem (CZ, SK) + # Ekvivalentní s CharField(max_length=2, default='CZ', ...) + stat = CountryField('stát', default='CZ', + help_text='ISO 3166-1 kód země velkými písmeny (CZ, SK, ...)') + + # Jaké vzdělání škpla poskytuje? + je_zs = models.BooleanField('základní stupeň', default=True) + je_ss = models.BooleanField('střední stupeň', default=True) + + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka ke škole (plain text)') + + kontaktni_osoba = models.ForeignKey(Osoba, verbose_name='Kontaktní osoba', + blank=True, null=True) + + def __str__(self): + return force_unicode('%s, %s, %s' % (self.nazev, self.ulice, self.mesto)) + class Prijemce(SeminarModelBase): class Meta: db_table = 'seminar_prijemce' @@ -798,7 +799,7 @@ class Pohadka(SeminarModelBase): class Organizator(SeminarModelBase): # zmena dedicnosti z models.Model na SeminarModelBase, potencialni vznik bugu - osoba = models.ForeignKey(Osoba, verbose_name='osoba', related_name='org' + osoba = models.ForeignKey(Osoba, verbose_name='osoba', related_name='org', help_text='osobní údaje organizátora', null=False, blank=False) vytvoreno = models.DateTimeField( @@ -1042,8 +1043,8 @@ class Obrazek(SeminarModelBase): na_web = models.ImageField('obrázek na web', upload_to='obrazky/%Y/%m/%d/', null=True, blank=True) - text = models.ForeignKey(Text, verbose_name='text', help_text='text, ve kterém - se obrázek vyskytuje', null=False, blank=False) + text = models.ForeignKey(Text, verbose_name='text', + help_text='text, ve kterém se obrázek vyskytuje', null=False, blank=False) do_cisla_barevny = models.FileField('barevný obrázek do čísla', help_text = 'Barevná verze obrázku do čísla',