Files

39 lines
1.3 KiB
Python

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.")