from reversion import revisions as reversion from django.db import models from django_countries.fields import CountryField from mamweb.models.base import SeminarModelBase from .osoba import Osoba # # Mělo by být částečně vytaženo z Aesopa # viz https://ovvp.mff.cuni.cz/wiki/aesop/export-skol. # @reversion.register(ignore_duplicates=True) 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, on_delete=models.SET_NULL, ) def __str__(self): return '{}, {}, {}'.format(self.nazev, self.ulice, self.mesto)