import json from django.core.management.base import BaseCommand from repostajes.models import Vehiculo class Command(BaseCommand): help = "Importa vehiculos desde un archivo JSON" def add_arguments(self, parser): parser.add_argument('archivo_json', type=str, help="Ruta del archivo JSON") def handle(self, *args, **kwargs): archivo_json = kwargs['archivo_json'] try: with open(archivo_json, 'r', encoding='utf-8') as file: datos = json.load(file) vehiculos_creados = 0 for vehiculo_data in datos: vehiculo, creado = Evento.objects.get_or_create( marca=vehiculo_data['marca'], defaults={ 'modelo': vehiculo_data['modelo'], 'matricula': vehiculo_data['matricula'], 'foto': vehiculo_data['foto'] } ) if creado: vehiculos_creados += 1 self.stdout.write(self.style.SUCCESS(f'Se importaron {vehiculos_creados} vehiculos correctamente.')) except FileNotFoundError: self.stderr.write(self.style.ERROR(f"El archivo {archivo_json} no se encontró.")) except json.JSONDecodeError: self.stderr.write(self.style.ERROR("Error al leer el archivo JSON. Asegúrate de que el formato sea correcto."))