🔧

Django Build Error Resolver

CultivaCRM — Reporte de Diagnóstico y Corrección — 2026-06-18
✔ RESOLVED
4/4 errores corregidos
Estado final OK Django check passed
Errores resueltos 4 0 pendientes
Archivos tocados 3 Cambios mínimos
Pérdida de datos 0 Sin operaciones destructivas
📦 Errores de Dependencias (pip)
1
Conflicto PyJWT — djangorestframework-simplejwt 5.2.2
FIXED
Error PyJWT 1.7.2 instalado, pero simplejwt 5.2.2 requiere >=2.0.0
Causa Pin antiguo en requirements.txt de una rama anterior al merge
Fix
# requirements.txt — cambio quirúrgico - PyJWT==1.7.2 + PyJWT>=2.6,<3.0 pip install --upgrade PyJWT pip check # sin conflictos
⚙️ Errores de Configuración Django
2
DJANGO_SETTINGS_MODULE no definido
FIXED
Error ImproperlyConfigured: DJANGO_SETTINGS_MODULE is not set
Causa La nueva rama no incluyó la variable en el .env de staging
Fix
# .env (staging) — añadido DJANGO_SETTINGS_MODULE=config.settings.development # Verificación python -c "import django; django.setup(); print('OK')" ✔ OK
3
apps.tenants no declarado en INSTALLED_APPS
FIXED
Error RuntimeError: Model class apps.tenants.models.Tenant doesn't declare an explicit app_label
Causa La nueva app apps.tenants (del merge) no fue registrada en INSTALLED_APPS
Fix
# config/settings/base.py INSTALLED_APPS = [ ... 'apps.accounts', + 'apps.tenants', # añadido ... ]
🗄️ Errores de Migraciones
4
InconsistentMigrationHistory + columna faltante
FIXED
Error accounts.0003_add_tenant_fk aplicada antes que tenants.0001_initial → columna tenant_id inexistente
Causa El staging ya tenía 0003 aplicada (de pruebas locales) pero tenants nunca fue migrado
Diagnóstico
python manage.py showmigrations accounts [X] 0001_initial [X] 0002_add_profile [X] 0003_add_tenant_fk <-- aplicada sin dependencia tenants [ ] 0001_initial <-- nunca ejecutada
Fix
# 1. Retroceder accounts al estado pre-fk (fake, sin tocar datos) python manage.py migrate accounts 0002 --fake # 2. Aplicar tenants desde cero python manage.py migrate tenants # 3. Re-aplicar accounts.0003 (ahora la dependencia existe) python manage.py migrate accounts # 4. Verificar estado limpio python manage.py migrate --check ✔ No pending migrations. python manage.py check ✔ System check identified no issues (0 silenced).
🚀 Log CI/CD Post-Fix — Resultado Final
Step 1/8: FROM python:3.11-slim ✔ Using cache [3.2 MB] Step 2/8: COPY requirements.txt . ✔ Done Step 3/8: RUN pip install -r requirements.txt ✔ Successfully installed PyJWT-2.8.0 djangorestframework-simplejwt-5.2.2 ... Step 4/8: ENV DJANGO_SETTINGS_MODULE=config.settings.development ✔ Done Step 5/8: RUN python manage.py check ✔ System check identified no issues (0 silenced). Step 6/8: RUN python manage.py migrate --check ✔ No pending migrations. Step 7/8: RUN python manage.py collectstatic --noinput ✔ 147 static files copied to '/app/staticfiles'. Step 8/8: CMD gunicorn config.wsgi:application --bind 0.0.0.0:8000 ✔ [1] [INFO] Starting gunicorn 21.2.0 ✔ [1] [INFO] Listening at: http://0.0.0.0:8000 ✔✔✔ BUILD SUCCEEDED — Deploy en staging listo ✔✔✔
✔ Resumen Final
Django Status OK
Errors Fixed 4
Files Modified requirements.txt, .env, config/settings/base.py
Migrations No pending · No conflicts
Data Loss None — solo --fake para reordenar