Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

159
Vistas
Errores de migración de Django 1.10

Tengo grandes problemas para instalar una aplicación Django en una máquina Ubuntu que ejecuta Django 1.10.6.

Estoy acostumbrado a usar una versión anterior de Django y ahora no puedo instalar mi aplicación web. Aquí está la situación:

Tengo un proyecto de Django llamado myproject. La estructura del archivo es:

 (BASEDIR)/manage.py (BASEDIR)/mycommon/ # I will discuss mycommon below (BASEDIR)/myproject/ (BASEDIR)/myproject/settings.py (BASEDIR)/myproject/urls.py (BASEDIR)/myproject/views.py (BASEDIR)/myproject/wsgi.py (BASEDIR)/myproject/models/ (BASEDIR)/myproject/models/__init__.py (BASEDIR)/myproject/models/models.py

Resulta que para este proyecto necesito poner mis modelos en un paquete común porque hay otra aplicación de Python (que usa Twisted que arranca Django) que necesita acceder a estos modelos. Llamaré a este paquete "mycommon". Así que mis modelos "reales" están aquí:

 (BASEDIR)/mycommon/ (BASEDIR)/mycommon/utils.py (BASEDIR)/mycommon/models/ (BASEDIR)/mycommon/models/__init__.py (BASEDIR)/mycommon/models/models.py

Entonces, el archivo de configuración de Django está en (BASEDIR)/myproject/settings.py y el parámetro INSTALLED_APPS está establecido en esto:

 INSTALLED_APPS = ( 'myproject.models', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admin', )

Finalmente, tenga en cuenta que myproject/models/models.py es muy simple, ya que solo usa los modelos mycommon:

 from django.db import models from mycommon.models.models import *

Hasta ahora todo bien, esta es una estructura que funciona bien en versiones anteriores de Django. De todos modos, empiezo con una base de datos MYSQL vacía (creada pero vacía) y ahora vuelvo a (BASEDIR) y ejecuto esto:

 python manage.py makemigrations mycommon.models

Lamentablemente me sale un error como este:

 RuntimeError: Model class mycommon.models.models.SomeModel doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

Entonces, ¿qué estoy haciendo mal?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En INSTALLED_APPS solo debe tener 'myproject' , sin '.models' .

Pero como está usando Django 1.10, será más limpio si crea su aplicación mycommon a través manage.py startapp mycommon . Esto creará, bueno, algunos archivos, pero debe mover sus modelos a mycommon/models.py . Tenga en cuenta mycommon/apps.py . No tiene que tocar este archivo, solo inclúyalo en la lista INSTALLED_APPS : 'mycommon.apps.MycommonConfig' . De esta manera, el marco de migraciones descubrirá sus modelos automáticamente.

Finalmente, elimine myproject/models , ya que myproject contiene la configuración del proyecto.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda