schon/core/management/commands/fix_prices.py
Egor fureunoir Gorbunov 83cad6c1cc Features: 1) Update all logger instances across the codebase to use "evibes" instead of "django";
Fixes: 1) None;

Extra: 1) Enhance consistency in logging configuration and improve alignment with project-specific naming conventions.
2025-06-30 01:44:20 +03:00

23 lines
903 B
Python

import logging
from django.core.management.base import BaseCommand
from core.models import Product
from core.vendors import AbstractVendor
logger = logging.getLogger("evibes")
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.all():
try:
stock.price = AbstractVendor.round_price_marketologically(stock.price) # type: ignore
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!"))