Wiem, że to stare pytanie, ale cały dzień walczyłem z tym samym problemem i moje rozwiązanie było proste.
Miałem strukturę katalogów podobną do ...
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
A ponieważ wszystkie inne modele, aż do tego, z którym miałem problem, były importowane gdzie indziej, co skończyło się importem, z main_app
którego został zarejestrowany w INSTALLED_APPS
, po prostu miałem szczęście, że wszystkie działały.
Ale ponieważ dodałem tylko każdy app
z nich, INSTALLED_APPS
a nie app_sub*
wtedy, gdy w końcu dodałem nowy plik modeli, który nie był importowany GDZIEKOLWIEK więcej, Django całkowicie go zignorował.
Moja poprawka polegała na dodaniu models.py
pliku do katalogu podstawowego każdego app
takiego ...
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
a następnie dodaj from apps.app.app_sub1 import *
i tak dalej do każdego z plików app
poziomów models.py
.
Bleh ... to zajęło mi TAK dużo czasu, aby się zorientować i nigdzie nie mogłem znaleźć rozwiązania ... nawet przeszedłem na drugą stronę wyników Google.
Mam nadzieję, że to komuś pomoże!