- from django.core.management.base import BaseCommand
-
- from hc.api.models import Channel, Notification
-
-
- class Command(BaseCommand):
- help = "Backfill Channel.last_notify and Channel.last_error"
-
- def handle(self, *args, **options):
- total = 0
-
- for channel in Channel.objects.all():
- q = Channel.objects.filter(id=channel.id)
-
- try:
- n = Notification.objects.filter(channel=channel).latest()
- q.update(last_notify=n.created, last_error=n.error)
- total += 1
- except Notification.DoesNotExist:
- if channel.last_error:
- q.update(last_error="")
- total += 1
-
- return "Done! Updated %d channels." % total
|