# Generated by Django 2.2.28 on 2023-08-09 15:15
import datetime
from django . db import migrations , models
import django . db . models . deletion
from django . utils . timezone import utc
import django . utils . timezone
import taggit . managers
import tvorba . models
class Migration ( migrations . Migration ) :
initial = True
dependencies = [
( ' taggit ' , ' 0004_alter_taggeditem_content_type_alter_taggeditem_tag ' ) ,
( ' contenttypes ' , ' 0002_remove_content_type_name ' ) ,
( ' personalni ' , ' 0002_organizator_osoba_prijemce_resitel_skola ' ) ,
( ' seminar ' , ' 0114_separace_personalniho ' ) ,
]
operations = [
migrations . SeparateDatabaseAndState (
state_operations = [
migrations . CreateModel (
name = ' Cislo ' ,
fields = [
( ' id ' , models . AutoField ( primary_key = True , serialize = False ) ) ,
( ' poradi ' , models . CharField ( db_index = True , help_text = ' Většinou jen " 1 " , vyjímečně " 7-8 " , lexikograficky určuje pořadí v ročníku! ' , max_length = 32 , verbose_name = ' název čísla ' ) ) ,
( ' datum_vydani ' , models . DateField ( blank = True , help_text = ' Datum vydání finální verze ' , null = True , verbose_name = ' datum vydání ' ) ) ,
( ' verejne_db ' , models . BooleanField ( db_column = ' verejne ' , default = False , verbose_name = ' číslo zveřejněno ' ) ) ,
( ' poznamka ' , models . TextField ( blank = True , help_text = ' Neveřejná poznámka k číslu (plain text) ' , verbose_name = ' neveřejná poznámka ' ) ) ,
( ' pdf ' , models . FileField ( blank = True , help_text = ' PDF čísla, které si mohou řešitelé stáhnout ' , null = True , storage = tvorba . models . OverwriteStorage ( ) , upload_to = tvorba . models . cislo_pdf_filename , verbose_name = ' pdf ' ) ) ,
( ' titulka_nahled ' , models . ImageField ( blank = True , help_text = ' Obrázek titulní strany, generuje se automaticky ' , null = True , upload_to = tvorba . models . cislo_png_filename , verbose_name = ' Obrázek titulní strany ' ) ) ,
] ,
options = {
' verbose_name ' : ' Číslo ' ,
' verbose_name_plural ' : ' Čísla ' ,
' db_table ' : ' mam_cisla ' ,
' ordering ' : [ ' -rocnik__rocnik ' , ' -poradi ' ] ,
} ,
) ,
migrations . CreateModel (
name = ' Deadline ' ,
fields = [
( ' id ' , models . AutoField ( primary_key = True , serialize = False ) ) ,
( ' deadline ' , models . DateTimeField ( default = django . utils . timezone . make_aware ( datetime . datetime . combine ( django . utils . timezone . now ( ) , datetime . time . max ) ) ) ) ,
( ' typ ' , models . CharField ( choices = [ ( ' cisla ' , ' Deadline celého čísla ' ) , ( ' prvni ' , ' První deadline ' ) , ( ' prvniasous ' , ' Sousový a první deadline ' ) , ( ' sous ' , ' Sousový deadline ' ) ] , max_length = 32 , verbose_name = ' typ deadlinu ' ) ) ,
( ' verejna_vysledkovka ' , models . BooleanField ( db_column = ' verejna_vysledkovka ' , default = False , verbose_name = ' veřejná výsledkovka ' ) ) ,
( ' cislo ' , models . ForeignKey ( on_delete = django . db . models . deletion . CASCADE , related_name = ' deadline_v_cisle ' , to = ' tvorba.Cislo ' , verbose_name = ' deadline v čísle ' ) ) ,
] ,
options = {
' verbose_name ' : ' Deadline ' ,
' verbose_name_plural ' : ' Deadliny ' ,
' db_table ' : ' mam_deadliny ' ,
' ordering ' : [ ' deadline ' ] ,
} ,
) ,
migrations . CreateModel (
name = ' Problem ' ,
fields = [
( ' id ' , models . AutoField ( primary_key = True , serialize = False ) ) ,
( ' nazev ' , models . CharField ( max_length = 256 , verbose_name = ' název ' ) ) ,
( ' stav ' , models . CharField ( choices = [ ( ' navrh ' , ' Návrh ' ) , ( ' zadany ' , ' Zadaný ' ) , ( ' vyreseny ' , ' Vyřešený ' ) , ( ' smazany ' , ' Smazaný ' ) ] , default = ' navrh ' , max_length = 32 , verbose_name = ' stav problému ' ) ) ,
( ' poznamka ' , models . TextField ( blank = True , help_text = ' Neveřejný návrh úlohy, návrh řešení, text zadání, poznámky ... ' , verbose_name = ' org poznámky (HTML) ' ) ) ,
( ' kod ' , models . CharField ( blank = True , default = ' ' , help_text = ' Číslo/kód úlohy v čísle nebo kód tématu/článku/seriálu v ročníku ' , max_length = 32 , verbose_name = ' lokální kód ' ) ) ,
( ' vytvoreno ' , models . DateTimeField ( blank = True , default = django . utils . timezone . now , editable = False , verbose_name = ' vytvořeno ' ) ) ,
( ' autor ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . SET_NULL , related_name = ' autor_problemu_problem ' , to = ' personalni.Organizator ' , verbose_name = ' autor problému ' ) ) ,
( ' garant ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . SET_NULL , related_name = ' garant_problemu_problem ' , to = ' personalni.Organizator ' , verbose_name = ' garant zadaného problému ' ) ) ,
( ' nadproblem ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . SET_NULL , related_name = ' podproblem ' , to = ' tvorba.Problem ' , verbose_name = ' nadřazený problém ' ) ) ,
( ' opravovatele ' , models . ManyToManyField ( blank = True , related_name = ' opravovatele_problem ' , to = ' personalni.Organizator ' , verbose_name = ' opravovatelé ' ) ) ,
( ' polymorphic_ctype ' , models . ForeignKey ( editable = False , null = True , on_delete = django . db . models . deletion . CASCADE , related_name = ' polymorphic_tvorba.problem_set+ ' , to = ' contenttypes.ContentType ' ) ) ,
( ' zamereni ' , taggit . managers . TaggableManager ( blank = True , help_text = ' Zaměření M/F/I/O problému, příp. další tagy ' , through = ' taggit.TaggedItem ' , to = ' taggit.Tag ' , verbose_name = ' zaměření ' ) ) ,
] ,
options = {
' verbose_name ' : ' Problém ' ,
' verbose_name_plural ' : ' Problémy ' ,
' db_table ' : ' mam_problemy ' ,
' ordering ' : [ ' nazev ' ] ,
} ,
) ,
migrations . CreateModel (
name = ' Rocnik ' ,
fields = [
( ' id ' , models . AutoField ( primary_key = True , serialize = False ) ) ,
( ' prvni_rok ' , models . IntegerField ( db_index = True , unique = True , verbose_name = ' první rok ' ) ) ,
( ' rocnik ' , models . IntegerField ( db_index = True , unique = True , verbose_name = ' číslo ročníku ' ) ) ,
( ' exportovat ' , models . BooleanField ( db_column = ' exportovat ' , default = False , help_text = ' Exportuje se jen podle tohoto flagu (ne veřejnosti), a to jen čísla s veřejnou výsledkovkou ' , verbose_name = ' export do AESOPa ' ) ) ,
] ,
options = {
' verbose_name ' : ' Ročník ' ,
' verbose_name_plural ' : ' Ročníky ' ,
' db_table ' : ' mam_rocniky ' ,
' ordering ' : [ ' -rocnik ' ] ,
} ,
) ,
migrations . CreateModel (
name = ' ZmrazenaVysledkovka ' ,
fields = [
( ' deadline ' , models . OneToOneField ( on_delete = django . db . models . deletion . CASCADE , primary_key = True , related_name = ' vysledkovka_v_deadlinu ' , serialize = False , to = ' tvorba.Deadline ' ) ) ,
( ' html ' , models . TextField ( ) ) ,
] ,
options = {
' verbose_name ' : ' Zmražená výsledkovka ' ,
' verbose_name_plural ' : ' Zmražené výsledkovky ' ,
' db_table ' : ' mam_vysledkovky ' ,
} ,
) ,
migrations . CreateModel (
name = ' Pohadka ' ,
fields = [
( ' id ' , models . AutoField ( primary_key = True , serialize = False ) ) ,
( ' vytvoreno ' , models . DateTimeField ( blank = True , default = django . utils . timezone . now , editable = False , verbose_name = ' Vytvořeno ' ) ) ,
( ' autor ' , models . ForeignKey ( null = True , on_delete = django . db . models . deletion . SET_NULL , to = ' personalni.Organizator ' , verbose_name = ' Autor pohádky ' ) ) ,
] ,
options = {
' verbose_name ' : ' Pohádka ' ,
' verbose_name_plural ' : ' Pohádky ' ,
' db_table ' : ' mam_pohadky ' ,
' ordering ' : [ ' vytvoreno ' ] ,
} ,
) ,
migrations . AddField (
model_name = ' cislo ' ,
name = ' rocnik ' ,
field = models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , related_name = ' cisla ' , to = ' tvorba.Rocnik ' , verbose_name = ' ročník ' ) ,
) ,
migrations . CreateModel (
name = ' Uloha ' ,
fields = [
( ' problem_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' tvorba.Problem ' ) ) ,
( ' max_body ' , models . DecimalField ( blank = True , decimal_places = 1 , max_digits = 8 , null = True , verbose_name = ' maximum bodů ' ) ) ,
( ' cislo_deadline ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . PROTECT , related_name = ' deadlinove_ulohy ' , to = ' tvorba.Cislo ' , verbose_name = ' číslo deadlinu ' ) ) ,
( ' cislo_reseni ' , models . ForeignKey ( blank = True , help_text = ' Číslo s řešením úlohy, jen pro úlohy ' , null = True , on_delete = django . db . models . deletion . PROTECT , related_name = ' resene_ulohy ' , to = ' tvorba.Cislo ' , verbose_name = ' číslo řešení ' ) ) ,
( ' cislo_zadani ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . PROTECT , related_name = ' zadane_ulohy ' , to = ' tvorba.Cislo ' , verbose_name = ' číslo zadání ' ) ) ,
] ,
options = {
' verbose_name ' : ' Úloha ' ,
' verbose_name_plural ' : ' Úlohy ' ,
' db_table ' : ' mam_ulohy ' ,
} ,
bases = ( ' tvorba.problem ' , ) ,
) ,
migrations . CreateModel (
name = ' Tema ' ,
fields = [
( ' problem_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' tvorba.Problem ' ) ) ,
( ' tema_typ ' , models . CharField ( choices = [ ( ' tema ' , ' Téma ' ) , ( ' serial ' , ' Seriál ' ) ] , default = ' tema ' , max_length = 16 , verbose_name = ' Typ tématu ' ) ) ,
( ' abstrakt ' , models . TextField ( blank = True , verbose_name = ' Abstrakt na rozcestník ' ) ) ,
( ' obrazek ' , models . ImageField ( blank = True , null = True , upload_to = ' ' , verbose_name = ' Obrázek na rozcestník ' ) ) ,
( ' rocnik ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . PROTECT , related_name = ' temata ' , to = ' tvorba.Rocnik ' , verbose_name = ' ročník ' ) ) ,
] ,
options = {
' verbose_name ' : ' Téma ' ,
' verbose_name_plural ' : ' Témata ' ,
' db_table ' : ' mam_temata ' ,
} ,
bases = ( ' tvorba.problem ' , ) ,
) ,
migrations . CreateModel (
name = ' Clanek ' ,
fields = [
( ' problem_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' tvorba.Problem ' ) ) ,
( ' cislo ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . PROTECT , related_name = ' vydane_clanky ' , to = ' tvorba.Cislo ' , verbose_name = ' číslo vydání ' ) ) ,
] ,
options = {
' verbose_name ' : ' Článek ' ,
' verbose_name_plural ' : ' Články ' ,
' db_table ' : ' mam_clanky ' ,
} ,
bases = ( ' tvorba.problem ' , ) ,
) ,
] ,
database_operations = [ ] ,
) ,
]