首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Django Apps are not loaded yet:模型導入順序與 AppConfig 配置

     編輯:程式設計疑難解答

錯誤原因

在模塊級別 (非函數內) 導入模型或執行 ORM 查詢,而 Django 尚未完成 App 加載 (如在 `models.py` 頂層、信號處理器、管理命令中過早使用)。

解決方法

  1. 延遲導入:將導入移至函數內部。
    `def my_view(request): from .models import MyModel ...`
  2. 使用 `apps.get_model`**:
    `from django.apps import apps; MyModel = apps.get_model('myapp', 'MyModel')`
  3. 配置 `AppConfig`**:在 `apps.py` 定義 `class MyAppConfig(AppConfig): name='myapp'`,並在 `settings.INSTALLED_APPS` 中使用 `'myapp.apps.MyAppConfig'`。
  4. 避免循環導入**:模型間外鍵用字符串 `'app.Model'`。

參考

百度貼吧 Django Apps not loaded 解決匯總

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved