diff --git a/program/migrations/0086_set_contributors_language_topic.py b/program/migrations/0086_set_contributors_language_topic.py new file mode 100644 index 0000000000000000000000000000000000000000..240d3782b704a7092a793af5a5165ceb34aeb1a1 --- /dev/null +++ b/program/migrations/0086_set_contributors_language_topic.py @@ -0,0 +1,42 @@ +# Generated by Django 4.2.11 on 2024-03-29 18:40 + +from django.db import migrations + + +def set_contributors(apps, _): + Note = apps.get_model("program", "Note") + + for note in Note.objects.filter(contributors=None).exclude( + timeslot__schedule__show__hosts=None + ): + note.contributors.set(note.timeslot.schedule.show.hosts.values_list("id", flat=True)) + note.save() + + +def set_language(apps, _): + Note = apps.get_model("program", "Note") + + for note in Note.objects.filter(language=None).exclude( + timeslot__schedule__show__language=None + ): + note.language.set(note.timeslot.schedule.show.language.values_list("id", flat=True)) + note.save() + + +def set_topic(apps, _): + Note = apps.get_model("program", "Note") + + for note in Note.objects.filter(topic=None).exclude(timeslot__schedule__show__topic=None): + note.topic.set(note.timeslot.schedule.show.topic.values_list("id", flat=True)) + + +class Migration(migrations.Migration): + dependencies = [ + ("program", "0085_attach_notes"), + ] + + operations = [ + migrations.RunPython(code=set_contributors), + migrations.RunPython(code=set_language), + migrations.RunPython(code=set_topic), + ]