diff --git a/tubesync/sync/management/commands/reset-metadata.py b/tubesync/sync/management/commands/reset-metadata.py index be344e1d..f11748ab 100644 --- a/tubesync/sync/management/commands/reset-metadata.py +++ b/tubesync/sync/management/commands/reset-metadata.py @@ -1,5 +1,6 @@ from django.core.management.base import BaseCommand -from sync.models import Media +from common.utils import django_queryset_generator as qs_gen +from sync.models import Media, Metadata from common.logger import log @@ -12,8 +13,8 @@ class Command(BaseCommand): def handle(self, *args, **options): log.info('Resettings all media metadata...') # Delete all metadata - Media.objects.update(metadata=None) + Metadata.objects.all().delete() # Trigger the save signal on each media item - for item in Media.objects.all(): - item.save() + for media in qs_gen(Media.objects.filter(metadata__isnull=False)): + media.metadata_clear(save=True) log.info('Done')