From 49cd6812d07c4ee1519ade5ea4d20578c25a91c3 Mon Sep 17 00:00:00 2001 From: Ernesto Rico-Schmidt Date: Wed, 6 Jan 2016 20:01:45 +0100 Subject: added commands to update new model fields diff --git a/program/management/commands/update_hosts.py b/program/management/commands/update_hosts.py new file mode 100644 index 0000000..22e0596 --- /dev/null +++ b/program/management/commands/update_hosts.py @@ -0,0 +1,21 @@ +from django.core.management.base import NoArgsCommand + +from program.models import Host + + +class Command(NoArgsCommand): + help = 'update host by setting is_active' + + def handle_noargs(self, **options): + for host in Host.objects.all(): + for show in host.shows.all(): + hosts_active_show = None + if show.has_active_programslots: + hosts_active_show = True + else: + hosts_active_show = False + + host.hosts_active_show = hosts_active_show + + if not hosts_active_show: + host.save() diff --git a/program/management/commands/update_programslots.py b/program/management/commands/update_programslots.py new file mode 100644 index 0000000..62de064 --- /dev/null +++ b/program/management/commands/update_programslots.py @@ -0,0 +1,14 @@ +from django.core.management.base import NoArgsCommand + +from program.models import ProgramSlot + +from datetime import date + + +class Command(NoArgsCommand): + help = 'update programslots by setting is_active' + + def handle_noargs(self, **options): + for programslot in ProgramSlot.objects.all(): + programslot.is_active = programslot.until > date.today() + programslot.save() diff --git a/program/management/commands/update_shows.py b/program/management/commands/update_shows.py new file mode 100644 index 0000000..d582bb5 --- /dev/null +++ b/program/management/commands/update_shows.py @@ -0,0 +1,22 @@ +from django.core.management.base import NoArgsCommand + +from program.models import Show + +from datetime import date + + +class Command(NoArgsCommand): + help = 'update shows by setting is_active' + + def handle_noargs(self, **options): + for show in Show.objects.exclude(pk=1): + has_active_programslots = None + for programslot in show.programslots.all(): + if programslot.until > date.today(): + has_active_programslots = True + else: + has_active_programslots = False + show.has_active_programslots = has_active_programslots + + if not has_active_programslots: + show.save() -- cgit v0.10.2