You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

24 lines
756 B

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