Web M&M
https://mam.matfyz.cz
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.5 KiB
41 lines
1.5 KiB
# Generated by Django 4.2.13 on 2024-06-11 23:53
|
|
|
|
from django.db import migrations, models
|
|
|
|
def pridej_orgy(apps, schema_editor):
|
|
PDF = apps.get_model('korektury', 'KorekturovanePDF')
|
|
for pdf in PDF.objects.all(): # Tohle by asi mělo jít udělat pomocí update, ale moc práce a rychlé hledání taky nepomohlo.
|
|
if pdf.org is not None: pdf.orgove.add(pdf.org)
|
|
pdf.save() # ig?
|
|
|
|
def vyber_orga(apps, schema_editor):
|
|
PDF = apps.get_model('korektury', 'KorekturovanePDF')
|
|
for pdf in PDF.objects.all():
|
|
orgove = pdf.orgove.all()
|
|
if len(orgove) > 1:
|
|
raise migrations.exceptions.IrreversibleError(f'PDF {pdf.id} má víc než jednoho zodpovědného orga, nejde odmigrovat na verzi, která umí jen jednoho.')
|
|
if len(orgove) == 0:
|
|
pdf.org = None
|
|
else:
|
|
pdf.org = orgove[0]
|
|
pdf.save()
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('personalni', '0011_osloveni_vsechny_choices'),
|
|
('korektury', '0023_personalni_post_migrate'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AddField(
|
|
model_name='korekturovanepdf',
|
|
name='orgove',
|
|
field=models.ManyToManyField(blank=True, default=None, help_text='Zodpovědní organizátoři za obsah (chodí jim maily o nových korekturách)', to='personalni.organizator'),
|
|
),
|
|
migrations.RunPython(pridej_orgy, vyber_orga),
|
|
migrations.RemoveField(
|
|
model_name='korekturovanepdf',
|
|
name='org',
|
|
),
|
|
]
|
|
|