from inventory.models import * from django_ledger.models import VendorModel # from rich import print import random import datetime from inventory.services import decodevin def run(): # car = Car.objects.filter(vin='2C3HD46R4WH170267') dealer = Dealer.objects.first() vendors = [ VendorModel.objects.create(vendor_name=f"vendor{i}", entity_model=dealer.entity) for i in range(1, 5) ] vin_list = [ "1B3ES56C13D120225", "1GB4KYC86FF131536", "1HSHXAHR15J136217", "1G1ZT52845F231124", "1J4GK48K43W721617", "JTDBE32K430163717", "1J4FA69S05P331572", "2FMGK5D86EBD28496", "KNADE243696530337", "1N4AL21EX8N499928", "1N4AL21E49N400571", "1G2NW12E54C145398", ] for vin in vin_list: try: for _ in range(5): vin = f"{vin[:-4]}{random.randint(0, 9)}{random.randint(0, 9)}{random.randint(0, 9)}{random.randint(0, 9)}" result = decodevin(vin) make = CarMake.objects.get(name=result["maker"]) model = make.carmodel_set.filter(name__contains=result["model"]).first() if not model or model == "": model = random.choice(make.carmodel_set.all()) year = result["modelYear"] serie = random.choice(model.carserie_set.all()) trim = random.choice(serie.cartrim_set.all()) vendor = random.choice(vendors) car = Car.objects.create( vin=vin, id_car_make=make, id_car_model=model, id_car_serie=serie, id_car_trim=trim, vendor=vendor, year=(int(year) or 2025), receiving_date=datetime.datetime.now(), dealer=dealer, ) car_finance = CarFinance.objects.create( car=car, cost_price=10000, selling_price=20000 ) car_color = CarColors.objects.create( car=car, interior=random.choice(InteriorColors.objects.all()), exterior=random.choice(ExteriorColors.objects.all()), ) print(make, model, serie, trim) except Exception as e: print(e)