Je sais que c'est une vieille question, mais je me suis battu avec ce même problème toute la journée et ma solution était simple.
J'avais ma structure de répertoire quelque chose du genre ...
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
Et comme tous les autres modèles jusqu'à celui avec main_app
lequel j'ai eu un problème étaient importés ailleurs qui ont fini par être importés à partir de laquelle était enregistré dans le INSTALLED_APPS
, j'ai juste eu de la chance qu'ils aient tous fonctionné.
Mais comme je n'ai ajouté que chacun app
à INSTALLED_APPS
et non le app_sub*
quand j'ai finalement ajouté un nouveau fichier de modèles qui n'a été importé nulle part ailleurs, Django l'a totalement ignoré.
Ma solution consistait à ajouter un models.py
fichier au répertoire de base de chacun app
comme ceci ...
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
puis ajoutez from apps.app.app_sub1 import *
et ainsi de suite à chacun des fichiers de app
niveau models.py
.
Bleh ... cela m'a pris tellement de temps à comprendre et je n'ai trouvé la solution nulle part ... Je suis même allé à la page 2 des résultats Google.
J'espère que cela aide quelqu'un!