import logging from django.core.management.base import BaseCommand from django.conf import settings from products.models import CategoryTag from products.models import Product class Command(BaseCommand): help = 'Load taxonomy terms into Product.tags' def handle(self, *args, **kwargs): print(self.help) print("Deleting existing instances") CategoryTag.objects.all().delete() file_path = settings.BASE_DIR + '/datasets/' + settings.TAXONOMY_FILE counter = 0 with open(file_path, 'rt') as data_file: print(f"Reading from {settings.TAXONOMY_FILE}") for line in data_file.readlines(): try: tag = Product.category.tag_model.objects.create(name=line, official=True) counter += 1 print('.', end='') logging.debug(f"{tag} created from {line}") except Exception as e: logging.error(f"{type(e)} while creating tags from {settings.TAXONOMY_FILE}") print(f"\nAdded {counter} Tag objects to Product.category") print('Shutting down\n')