Compare commits
No commits in common. "64465a04715bd098202eab46018569ea79cbe554" and "7569447baaf9f51a3efd44b0cd3cdb75aa93b8f0" have entirely different histories.
64465a0471
...
7569447baa
22 changed files with 26 additions and 441 deletions
|
|
@ -271,42 +271,42 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "add_konfera",
|
"codename": "add_konfera",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "konfera"
|
"ct_model": "konfera"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "change_konfera",
|
"codename": "change_konfera",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "konfera"
|
"ct_model": "konfera"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "delete_konfera",
|
"codename": "delete_konfera",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "konfera"
|
"ct_model": "konfera"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "view_konfera",
|
"codename": "view_konfera",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "konfera"
|
"ct_model": "konfera"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "add_konfery_ucastnici",
|
"codename": "add_konfery_ucastnici",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "konfery_ucastnici"
|
"ct_model": "konfery_ucastnici"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "change_konfery_ucastnici",
|
"codename": "change_konfery_ucastnici",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "konfery_ucastnici"
|
"ct_model": "konfery_ucastnici"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "delete_konfery_ucastnici",
|
"codename": "delete_konfery_ucastnici",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "konfery_ucastnici"
|
"ct_model": "konfery_ucastnici"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "view_konfery_ucastnici",
|
"codename": "view_konfery_ucastnici",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "konfery_ucastnici"
|
"ct_model": "konfery_ucastnici"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -481,62 +481,62 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "add_soustredeni",
|
"codename": "add_soustredeni",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni"
|
"ct_model": "soustredeni"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "change_soustredeni",
|
"codename": "change_soustredeni",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni"
|
"ct_model": "soustredeni"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "delete_soustredeni",
|
"codename": "delete_soustredeni",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni"
|
"ct_model": "soustredeni"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "view_soustredeni",
|
"codename": "view_soustredeni",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni"
|
"ct_model": "soustredeni"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "add_soustredeni_organizatori",
|
"codename": "add_soustredeni_organizatori",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni_organizatori"
|
"ct_model": "soustredeni_organizatori"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "change_soustredeni_organizatori",
|
"codename": "change_soustredeni_organizatori",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni_organizatori"
|
"ct_model": "soustredeni_organizatori"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "delete_soustredeni_organizatori",
|
"codename": "delete_soustredeni_organizatori",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni_organizatori"
|
"ct_model": "soustredeni_organizatori"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "view_soustredeni_organizatori",
|
"codename": "view_soustredeni_organizatori",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni_organizatori"
|
"ct_model": "soustredeni_organizatori"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "add_soustredeni_ucastnici",
|
"codename": "add_soustredeni_ucastnici",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni_ucastnici"
|
"ct_model": "soustredeni_ucastnici"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "change_soustredeni_ucastnici",
|
"codename": "change_soustredeni_ucastnici",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni_ucastnici"
|
"ct_model": "soustredeni_ucastnici"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "delete_soustredeni_ucastnici",
|
"codename": "delete_soustredeni_ucastnici",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni_ucastnici"
|
"ct_model": "soustredeni_ucastnici"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"codename": "view_soustredeni_ucastnici",
|
"codename": "view_soustredeni_ucastnici",
|
||||||
"ct_app_label": "soustredeni",
|
"ct_app_label": "seminar",
|
||||||
"ct_model": "soustredeni_ucastnici"
|
"ct_model": "soustredeni_ucastnici"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-04-30 21:53
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('galerie', '0010_auto_20200819_0947'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
]
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-05-01 13:07
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('soustredeni', '0001_split_from_seminar'),
|
|
||||||
('galerie', '0011_pre_split_soustredeni'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='galerie',
|
|
||||||
name='soustredeni',
|
|
||||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='soustredeni.soustredeni'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-05-01 13:35
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('galerie', '0012_soustredeni_relink'),
|
|
||||||
('soustredeni', '0003_post_split_soustredeni'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
]
|
|
||||||
|
|
@ -7,7 +7,7 @@ from imagekit.processors import ResizeToFit, Transpose
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from soustredeni.models import Soustredeni
|
from seminar.models import Soustredeni
|
||||||
|
|
||||||
VZDY=0
|
VZDY=0
|
||||||
ORG=1
|
ORG=1
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-04-30 21:53
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('personalni', '0005_personalni_post_migrate'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
]
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-04-30 21:53
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('prednasky', '0015_personalni_post_migrate'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
]
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-05-01 13:07
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('soustredeni', '0001_split_from_seminar'),
|
|
||||||
('prednasky', '0016_pre_split_soustredeni'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='seznam',
|
|
||||||
name='soustredeni',
|
|
||||||
field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.PROTECT, to='soustredeni.soustredeni'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-05-01 13:35
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('prednasky', '0017_soustredeni_relink'),
|
|
||||||
('soustredeni', '0003_post_split_soustredeni'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
]
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
from soustredeni.models import Soustredeni
|
from seminar.models import Soustredeni
|
||||||
from personalni.models import Organizator
|
from personalni.models import Organizator
|
||||||
|
|
||||||
STAV_NAVRH = 1
|
STAV_NAVRH = 1
|
||||||
|
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-04-30 21:54
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('seminar', '0121_personalni_post_migrate'),
|
|
||||||
('personalni', '0006_pre_split_soustredeni'),
|
|
||||||
('galerie', '0011_pre_split_soustredeni'),
|
|
||||||
('prednasky', '0016_pre_split_soustredeni'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
]
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-04-30 22:17
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('seminar', '0122_pre_split_soustredeni'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='konfera',
|
|
||||||
options={'managed': False, 'verbose_name': 'Konfera', 'verbose_name_plural': 'Konfery'},
|
|
||||||
),
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='konfery_ucastnici',
|
|
||||||
options={'managed': False, 'ordering': ['konfera', 'resitel'], 'verbose_name': 'Účast na konfeře', 'verbose_name_plural': 'Účasti na konfeře'},
|
|
||||||
),
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='soustredeni',
|
|
||||||
options={'managed': False, 'ordering': ['-rocnik__rocnik', '-datum_zacatku'], 'verbose_name': 'Soustředění', 'verbose_name_plural': 'Soustředění'},
|
|
||||||
),
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='soustredeni_organizatori',
|
|
||||||
options={'managed': False, 'ordering': ['soustredeni', 'organizator'], 'verbose_name': 'Účast organizátorů na soustředění', 'verbose_name_plural': 'Účasti organizátorů na soustředění'},
|
|
||||||
),
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='soustredeni_ucastnici',
|
|
||||||
options={'managed': False, 'ordering': ['soustredeni', 'resitel'], 'verbose_name': 'Účast na soustředění', 'verbose_name_plural': 'Účasti na soustředění'},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-05-01 13:13
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('seminar', '0123_soustredeni_unmanage'),
|
|
||||||
('soustredeni', '0001_split_from_seminar'),
|
|
||||||
('galerie', '0012_soustredeni_relink'),
|
|
||||||
('prednasky', '0017_soustredeni_relink'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='konfery_ucastnici',
|
|
||||||
name='konfera',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='konfery_ucastnici',
|
|
||||||
name='resitel',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='soustredeni',
|
|
||||||
name='organizatori',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='soustredeni',
|
|
||||||
name='rocnik',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='soustredeni',
|
|
||||||
name='ucastnici',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='soustredeni_organizatori',
|
|
||||||
name='organizator',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='soustredeni_organizatori',
|
|
||||||
name='soustredeni',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='soustredeni_ucastnici',
|
|
||||||
name='resitel',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='soustredeni_ucastnici',
|
|
||||||
name='soustredeni',
|
|
||||||
),
|
|
||||||
migrations.DeleteModel(
|
|
||||||
name='Konfera',
|
|
||||||
),
|
|
||||||
migrations.DeleteModel(
|
|
||||||
name='Konfery_Ucastnici',
|
|
||||||
),
|
|
||||||
migrations.DeleteModel(
|
|
||||||
name='Soustredeni',
|
|
||||||
),
|
|
||||||
migrations.DeleteModel(
|
|
||||||
name='Soustredeni_Organizatori',
|
|
||||||
),
|
|
||||||
migrations.DeleteModel(
|
|
||||||
name='Soustredeni_Ucastnici',
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-05-01 13:35
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('seminar', '0124_remove_sous_from_seminar'),
|
|
||||||
('soustredeni', '0003_post_split_soustredeni'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
]
|
|
||||||
|
|
@ -1,13 +1,10 @@
|
||||||
from .tvorba import *
|
from .tvorba import *
|
||||||
from .odevzdavatko import *
|
from .odevzdavatko import *
|
||||||
from .base import *
|
from .base import *
|
||||||
|
from .soustredeni import *
|
||||||
from .pomocne import *
|
from .pomocne import *
|
||||||
from .treenode import *
|
from .treenode import *
|
||||||
from .novinky import *
|
from .novinky import *
|
||||||
|
|
||||||
from various.models import Nastaveni
|
from various.models import Nastaveni
|
||||||
from personalni.models import Organizator, Resitel, Skola, Prijemce, Osoba
|
from personalni.models import Organizator, Resitel, Skola, Prijemce, Osoba
|
||||||
from soustredeni.models import Soustredeni, Soustredeni_Ucastnici, Soustredeni_Organizatori, Konfera, Konfery_Ucastnici
|
|
||||||
|
|
||||||
# Kvůli migr. 0041
|
|
||||||
from soustredeni.models import generate_filename_konfera
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ from django.conf import settings
|
||||||
|
|
||||||
from personalni.models import Resitel, Organizator
|
from personalni.models import Resitel, Organizator
|
||||||
|
|
||||||
from seminar.models.base import SeminarModelBase
|
from .base import SeminarModelBase
|
||||||
from seminar.models import tvorba as am
|
from seminar.models import tvorba as am
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
@ -2,7 +2,7 @@ from django.contrib import admin
|
||||||
from django.forms import widgets
|
from django.forms import widgets
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
import soustredeni.models as m
|
from seminar.models import soustredeni as m
|
||||||
|
|
||||||
|
|
||||||
class SoustredeniUcastniciInline(admin.TabularInline):
|
class SoustredeniUcastniciInline(admin.TabularInline):
|
||||||
|
|
|
||||||
|
|
@ -1,122 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-04-30 22:53
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
import soustredeni.models
|
|
||||||
|
|
||||||
def nastav_nove_contenttypes(apps, schema_editor):
|
|
||||||
ContentType = apps.get_model('contenttypes', 'ContentType')
|
|
||||||
for m in ('konfera', 'soustredeni', 'soustredeni_ucastnici', 'soustredeni_organizatori', 'konfery_ucastnici'):
|
|
||||||
oct = ContentType.objects.filter(app_label='seminar', model=m)
|
|
||||||
oct.update(app_label='soustredeni')
|
|
||||||
|
|
||||||
def nastav_stare_contenttypes(apps, schema_editor):
|
|
||||||
ContentType = apps.get_model('contenttypes', 'ContentType')
|
|
||||||
for m in ('konfera', 'soustredeni', 'soustredeni_ucastnici', 'soustredeni_organizatori', 'konfery_ucastnici'):
|
|
||||||
nct = ContentType.objects.filter(app_label='soustredeni', model=m)
|
|
||||||
nct.update(app_label='seminar')
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
initial = True
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('seminar', '0123_soustredeni_unmanage'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.RunPython(nastav_nove_contenttypes, nastav_stare_contenttypes),
|
|
||||||
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Konfera',
|
|
||||||
fields=[
|
|
||||||
('problem_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.problem')),
|
|
||||||
('anotace', models.TextField(blank=True, help_text='Popis, o čem bude konfera.', verbose_name='anotace')),
|
|
||||||
('abstrakt', models.TextField(blank=True, help_text='Abstrakt konfery tak, jak byl uveden ve sborníku', verbose_name='abstrakt')),
|
|
||||||
('typ_prezentace', models.CharField(choices=[('veletrh', 'Veletrh (postery)'), ('prezentace', 'Prezentace (přednáška)')], default='veletrh', max_length=16, verbose_name='typ prezentace')),
|
|
||||||
('prezentace', models.FileField(blank=True, help_text='Prezentace nebo fotka posteru', upload_to=soustredeni.models.generate_filename_konfera, verbose_name='prezentace')),
|
|
||||||
('materialy', models.FileField(blank=True, help_text='Další materiály ke konfeře zabalené do jednoho souboru', upload_to=soustredeni.models.generate_filename_konfera, verbose_name='materialy')),
|
|
||||||
('soustredeni', models.ForeignKey(to='soustredeni.soustredeni', verbose_name='soustředění', on_delete=models.SET_NULL, null=True, related_name='konfery')),
|
|
||||||
('ucastnici', models.ManyToManyField(help_text='Seznam účastníků konfery', through='soustredeni.Konfery_Ucastnici', to='personalni.resitel', verbose_name='účastníci konfery')),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'verbose_name': 'Konfera',
|
|
||||||
'verbose_name_plural': 'Konfery',
|
|
||||||
'db_table': 'seminar_konfera',
|
|
||||||
'managed': False,
|
|
||||||
},
|
|
||||||
bases=('seminar.problem',),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Konfery_Ucastnici',
|
|
||||||
fields=[
|
|
||||||
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
||||||
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k účasti (plain text)', verbose_name='neveřejná poznámka')),
|
|
||||||
('resitel', models.ForeignKey(to='personalni.resitel', verbose_name='řešitel', on_delete=models.PROTECT)),
|
|
||||||
('konfera', models.ForeignKey(to='soustredeni.konfera', verbose_name='konfera', on_delete=models.CASCADE)),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'verbose_name': 'Účast na konfeře',
|
|
||||||
'verbose_name_plural': 'Účasti na konfeře',
|
|
||||||
'db_table': 'seminar_konfery_ucastnici',
|
|
||||||
'ordering': ['konfera', 'resitel'],
|
|
||||||
'managed': False,
|
|
||||||
},
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Soustredeni',
|
|
||||||
fields=[
|
|
||||||
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
||||||
('datum_zacatku', models.DateField(blank=True, help_text='První den soustředění', null=True, verbose_name='datum začátku')),
|
|
||||||
('datum_konce', models.DateField(blank=True, help_text='Poslední den soustředění', null=True, verbose_name='datum konce')),
|
|
||||||
('verejne_db', models.BooleanField(db_column='verejne', default=False, verbose_name='soustředění zveřejněno')),
|
|
||||||
('misto', models.CharField(blank=True, default='', help_text='Místo (název obce, volitelně též objektu', max_length=256, verbose_name='místo soustředění')),
|
|
||||||
('text', models.TextField(blank=True, default='', verbose_name='text k soustředění (HTML)')),
|
|
||||||
('typ', models.CharField(choices=[('jarni', 'Jarní soustředění'), ('podzimni', 'Podzimní soustředění'), ('vikend', 'Víkendový sraz'), ('vylet', 'Výlet')], default='podzimni', max_length=16, verbose_name='typ akce')),
|
|
||||||
('exportovat', models.BooleanField(db_column='exportovat', default=False, help_text='Exportuje se jen podle tohoto flagu (ne veřejnosti)', verbose_name='export do AESOPa')),
|
|
||||||
('rocnik', models.ForeignKey(to='seminar.rocnik', verbose_name='ročník', related_name='soustredeni', on_delete=models.PROTECT)),
|
|
||||||
('organizatori', models.ManyToManyField(help_text='Seznam organizátorů soustředění', through='soustredeni.Soustredeni_Organizatori', to='personalni.organizator', verbose_name='Organizátoři soustředění')),
|
|
||||||
('ucastnici', models.ManyToManyField(help_text='Seznam účastníků soustředění', through='soustredeni.Soustredeni_Ucastnici', to='personalni.resitel', verbose_name='účastníci soustředění')),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'verbose_name': 'Soustředění',
|
|
||||||
'verbose_name_plural': 'Soustředění',
|
|
||||||
'db_table': 'seminar_soustredeni',
|
|
||||||
'ordering': ['-rocnik__rocnik', '-datum_zacatku'],
|
|
||||||
'managed': False,
|
|
||||||
},
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Soustredeni_Organizatori',
|
|
||||||
fields=[
|
|
||||||
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
||||||
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k účasti organizátora (plain text)', verbose_name='neveřejná poznámka')),
|
|
||||||
('organizator', models.ForeignKey(to='personalni.organizator', verbose_name='organizátor', on_delete=models.PROTECT)),
|
|
||||||
('soustredeni', models.ForeignKey(to='soustredeni.soustredeni', verbose_name='soustředění', on_delete=models.PROTECT)),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'verbose_name': 'Účast organizátorů na soustředění',
|
|
||||||
'verbose_name_plural': 'Účasti organizátorů na soustředění',
|
|
||||||
'db_table': 'seminar_soustredeni_organizatori',
|
|
||||||
'ordering': ['soustredeni', 'organizator'],
|
|
||||||
'managed': False,
|
|
||||||
},
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Soustredeni_Ucastnici',
|
|
||||||
fields=[
|
|
||||||
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
||||||
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k účasti (plain text)', verbose_name='neveřejná poznámka')),
|
|
||||||
('resitel', models.ForeignKey(to='personalni.resitel', verbose_name='řešitel', on_delete=models.PROTECT)),
|
|
||||||
('soustredeni', models.ForeignKey(to='soustredeni.soustredeni', verbose_name='soustředění', on_delete=models.PROTECT)),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'verbose_name': 'Účast na soustředění',
|
|
||||||
'verbose_name_plural': 'Účasti na soustředění',
|
|
||||||
'db_table': 'seminar_soustredeni_ucastnici',
|
|
||||||
'ordering': ['soustredeni', 'resitel'],
|
|
||||||
'managed': False,
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-05-01 13:18
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('soustredeni', '0001_split_from_seminar'),
|
|
||||||
('seminar', '0124_remove_sous_from_seminar'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='konfera',
|
|
||||||
options={'verbose_name': 'Konfera', 'verbose_name_plural': 'Konfery'},
|
|
||||||
),
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='konfery_ucastnici',
|
|
||||||
options={'ordering': ['konfera', 'resitel'], 'verbose_name': 'Účast na konfeře', 'verbose_name_plural': 'Účasti na konfeře'},
|
|
||||||
),
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='soustredeni',
|
|
||||||
options={'ordering': ['-rocnik__rocnik', '-datum_zacatku'], 'verbose_name': 'Soustředění', 'verbose_name_plural': 'Soustředění'},
|
|
||||||
),
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='soustredeni_organizatori',
|
|
||||||
options={'ordering': ['soustredeni', 'organizator'], 'verbose_name': 'Účast organizátorů na soustředění', 'verbose_name_plural': 'Účasti organizátorů na soustředění'},
|
|
||||||
),
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='soustredeni_ucastnici',
|
|
||||||
options={'ordering': ['soustredeni', 'resitel'], 'verbose_name': 'Účast na soustředění', 'verbose_name_plural': 'Účasti na soustředění'},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
# Generated by Django 4.2.11 on 2024-05-01 13:35
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('soustredeni', '0002_manage_soustredeni'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
]
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
Prostě zkopírovat vedle, s původními (=správnými) related names.
|
Prostě zkopírovat vedle, s původními (=správnými) related names.
|
||||||
(Případně opravit *všechny* relativní importy)
|
|
||||||
makemigrations
|
makemigrations
|
||||||
! Doplnit hack kolem content-types (jako první operace při migraci)
|
! Doplnit hack kolem content-types (jako první operace při migraci)
|
||||||
! Doplnit ForeignKeys (Vypadá to, že se dá vesměs zkopírovat předpis z models.py, jen místo prvního fieldu dát `to='app.model'. Dokonce asi funguje použít už novou aplikaci pro vazby v rámci aplikace.)
|
! Doplnit ForeignKeys (TODO: jak? Já jsem je ukradl až zpětně…)
|
||||||
To samé s ManyToManyFieldy (through= musí taky být 'app.model')
|
|
||||||
(Zdá se, že jde dobastlit tuhle migraci polozpětně – doplnit co chybělo až podle toho, co vygeneruje migrace po zamanagování nového modelu.)
|
|
||||||
doplnit závislost na unmanage
|
doplnit závislost na unmanage
|
||||||
migrate
|
migrate
|
||||||
|
|
|
||||||
|
|
@ -16,9 +16,6 @@ vim seminar/models/whatever
|
||||||
HINT: Add or change a related_name argument to the definition for 'seminar.Resitel.osoba' or 'seminar.Prijemce.osoba'.
|
HINT: Add or change a related_name argument to the definition for 'seminar.Resitel.osoba' or 'seminar.Prijemce.osoba'.
|
||||||
Snadné řešení: dočasné related names mít unikátní. Stejně to nikoho nezajímá.
|
Snadné řešení: dočasné related names mít unikátní. Stejně to nikoho nezajímá.
|
||||||
!! Zkontrolovat, že všechno má nastavenou db_table (jinak se to potom pokusí vybastlit jméno tabulky podle aplikace…)
|
!! Zkontrolovat, že všechno má nastavenou db_table (jinak se to potom pokusí vybastlit jméno tabulky podle aplikace…)
|
||||||
Pro tip: related names nejsou součástí DB schématu, takže když se tohle opraví později (typicky při create spadne makemigrations), nevadí to a nemělo by být potřeba měnit migrace).
|
|
||||||
Pro multi-table inheritance je potřeba explicitně přidat 1to1Field s parent_link=True (<https://docs.djangoproject.com/en/5.0/topics/db/models/#specifying-the-parent-link-field>)
|
|
||||||
Je potřeba to udělat správně (třeba nemít FK), migrace potřeba není, protože je to stejně unmanaged…
|
|
||||||
|
|
||||||
makemigrations, bez úprav
|
makemigrations, bez úprav
|
||||||
migrate?
|
migrate?
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue