import logging from django.core.management.base import BaseCommand from core.models import Product from core.vendors import AbstractVendor logger = logging.getLogger(__name__) class Command(BaseCommand): def handle(self, *args, **options): self.stdout.write(self.style.SUCCESS("Starting fixing stocks' prices...")) for product in Product.objects.filter(stocks__isnull=False): for stock in product.stocks: try: stock.price = AbstractVendor.round_price_marketologically(stock.price) stock.save() except Exception as e: self.stdout.write(self.style.WARNING(f"Couldn't fix price on {stock.uuid}")) self.stdout.write(self.style.WARNING(f"Error: {e}")) self.stdout.write(self.style.SUCCESS("Successfully fixed stocks' prices!"))