From d7db96236bfecba0e3288cefcdd837447cf203e7 Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Fri, 29 Mar 2024 16:18:38 -0400 Subject: [PATCH] feat: add migration to set contributors, language & topic on notes --- .../0086_set_contributors_language_topic.py | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 program/migrations/0086_set_contributors_language_topic.py 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 00000000..240d3782 --- /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), + ] -- GitLab