ฉันรู้ว่านี่เป็นคำถามเก่า แต่ฉันต่อสู้กับปัญหาเดียวกันนี้ทั้งวันและวิธีแก้ปัญหาของฉันก็ง่ายมาก
ฉันมีโครงสร้างไดเรกทอรีของฉันตามแนวของ ...
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
และเนื่องจากรุ่นอื่น ๆ ทั้งหมดจนถึงรุ่นที่ฉันมีปัญหากำลังถูกนำเข้าที่อื่นซึ่งลงเอยด้วยการนำเข้าจากmain_app
ที่ได้รับการจดทะเบียนในINSTALLED_APPS
ฉันก็โชคดีที่ทุกอย่างใช้งานได้
แต่เนื่องจากผมเพิ่มเพียงแต่ละapp
ไปINSTALLED_APPS
และไม่app_sub*
เมื่อในที่สุดผมก็เพิ่มไฟล์รูปแบบใหม่ที่ไม่ได้นำเข้าอื่นใด Django ไม่สนใจมัน
การแก้ไขของฉันคือการเพิ่มmodels.py
ไฟล์ลงในไดเร็กทอรีฐานของแต่ละไฟล์app
เช่นนี้ ...
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
จากนั้นเพิ่มfrom apps.app.app_sub1 import *
และอื่น ๆ ในแต่ละไฟล์app
ระดับmodels.py
Bleh ... นี่ใช้เวลานานมากในการคิดและฉันไม่พบวิธีแก้ปัญหาใด ๆ เลย ... ฉันยังไปที่หน้า 2 ของผลการค้นหาของ Google
หวังว่านี่จะช่วยใครสักคน!