ฉันรู้ว่านี่เป็นคำถามเก่า แต่ฉันต่อสู้กับปัญหาเดียวกันนี้ทั้งวันและวิธีแก้ปัญหาของฉันก็ง่ายมาก
ฉันมีโครงสร้างไดเรกทอรีของฉันตามแนวของ ...
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
หวังว่านี่จะช่วยใครสักคน!