Tôi biết đây là một câu hỏi cũ nhưng tôi đã chiến đấu với cùng một vấn đề này cả ngày và giải pháp của tôi là một câu hỏi đơn giản.
Tôi đã có cấu trúc thư mục của mình một cái gì đó dọc theo dòng ...
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
Và vì tất cả các mô hình khác cho đến khi tôi gặp sự cố đã được nhập ở một nơi khác đã kết thúc nhập từ main_app
đó đã được đăng ký INSTALLED_APPS
, tôi đã may mắn rằng tất cả chúng đều hoạt động.
Nhưng kể từ khi tôi chỉ thêm vào mỗi app
đến INSTALLED_APPS
và không phải là app_sub*
khi tôi cuối cùng thêm một mô hình tập tin mới mà không được nhập khẩu bất cứ nơi nào khác, Django hoàn toàn phớt lờ nó.
Cách khắc phục của tôi là thêm một models.py
tệp vào thư mục cơ sở của mỗi app
cái như thế này ...
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
và sau đó thêm from apps.app.app_sub1 import *
và cứ thế vào từng tệp app
cấp models.py
.
Bleh ... điều này khiến tôi mất nhiều thời gian để tìm ra và tôi không thể tìm thấy giải pháp ở bất cứ đâu ... Tôi thậm chí đã đi đến trang 2 của kết quả google.
Hy vọng điều này sẽ giúp được ai đó!