diff options
author | Ernesto Rico-Schmidt <e.rico.schmidt@gmail.com> | 2016-01-06 19:01:45 (GMT) |
---|---|---|
committer | Ernesto Rico-Schmidt <e.rico.schmidt@gmail.com> | 2016-01-06 19:01:45 (GMT) |
commit | 49cd6812d07c4ee1519ade5ea4d20578c25a91c3 (patch) | |
tree | d95539789abea6839ee05abfbafc93a6f202deb7 /program | |
parent | b1b142c22135543e01a8dede7f2c70522d29d933 (diff) |
added commands to update new model fields
Diffstat (limited to 'program')
-rw-r--r-- | program/management/commands/update_hosts.py | 21 | ||||
-rw-r--r-- | program/management/commands/update_programslots.py | 14 | ||||
-rw-r--r-- | program/management/commands/update_shows.py | 22 |
3 files changed, 57 insertions, 0 deletions
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() |