import os import django os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings") django.setup() from expenses.models import Category from procurement.models import ItemCatalog # 1. Update Project Categories to exactly 1201-1207 print("Actualizando Categorías a la serie 1200...") Category.objects.filter(code__in=['3101', '3102', '3103', '3104', '3105', '3106', '3107']).delete() required_codes = { '1201': 'Investigación Básica', '1202': 'Investigación Aplicada', '1203': 'Desarrollo Experimental', '1204': 'Prototipado', '1205': 'Pruebas de Concepto (PoC)', '1206': 'Gestión de Proyectos', '1207': 'Otros Servicios' } parent, _ = Category.objects.get_or_create(code='1200', defaults={'name': 'Portafolio de Proyectos'}) for code, name in required_codes.items(): cat, created = Category.objects.get_or_create(code=code, defaults={'name': name, 'parent': parent}) if not created: cat.name = name cat.parent = parent cat.save() # 3. Delete 'actv' from ItemCatalog in Procurement print("Eliminando ítem 'actv' del catálogo...") items_to_delete = ItemCatalog.objects.filter(code__iexact='actv') count = items_to_delete.count() items_to_delete.delete() print(f"Se eliminaron {count} ítems 'actv'.") print("Migración de datos completada.")