68 lines
2.4 KiB
Python
68 lines
2.4 KiB
Python
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)
|