So che questa è una vecchia domanda, ma ho combattuto con questo stesso problema tutto il giorno e la mia soluzione era semplice.
Ho avuto la mia struttura di directory qualcosa sulla falsariga di ...
apps/
app/
__init__.py
app_sub1/
__init__.py
models.py
app_sub2/
__init__.py
models.py
app_sub3/
__init__.py
models.py
app2/
__init__.py
app2_sub1/
__init__.py
models.py
app2_sub2/
__init__.py
models.py
app2_sub3/
__init__.py
models.py
main_app/
__init__.py
models.py
E dal momento che tutti gli altri modelli fino a quello con cui ho avuto un problema venivano importati da qualche altra parte che finiva per importare da main_app
cui era registrato nel INSTALLED_APPS
, ho avuto la fortuna che funzionassero tutti.
Ma dal momento che ho aggiunto solo ogni app
per INSTALLED_APPS
e non il app_sub*
quando finalmente aggiunto un nuovo file di modelli che non è stato importato qualsiasi altro luogo, Django totalmente ignorato.
La mia correzione era l'aggiunta di un models.py
file alla directory di base di ciascuno app
come questo ...
apps/
app/
__init__.py
models.py <<<<<<<<<<--------------------------
app_sub1/
__init__.py
models.py
app_sub2/
__init__.py
models.py
app_sub3/
__init__.py
models.py
app2/
__init__.py
models.py <<<<<<<<<<--------------------------
app2_sub1/
__init__.py
models.py
app2_sub2/
__init__.py
models.py
app2_sub3/
__init__.py
models.py
main_app/
__init__.py
models.py
e quindi aggiungere from apps.app.app_sub1 import *
e così via a ciascuno dei file di app
livello models.py
.
Bleh ... mi ci è voluto tanto tempo per capire e non sono riuscito a trovare la soluzione da nessuna parte ... Sono anche andato alla pagina 2 dei risultati di Google.
Spero che questo aiuti qualcuno!