Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

160
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda