錯誤原因
在模塊級別 (非函數內) 導入模型或執行 ORM 查詢,而 Django 尚未完成 App 加載 (如在 `models.py` 頂層、信號處理器、管理命令中過早使用)。
解決方法
- 延遲導入:將導入移至函數內部。
`def my_view(request): from .models import MyModel ...`
- 使用 `apps.get_model`**:
`from django.apps import apps; MyModel = apps.get_model('myapp', 'MyModel')`
- 配置 `AppConfig`**:在 `apps.py` 定義 `class MyAppConfig(AppConfig): name='myapp'`,並在 `settings.INSTALLED_APPS` 中使用 `'myapp.apps.MyAppConfig'`。
- 避免循環導入**:模型間外鍵用字符串 `'app.Model'`。
參考
百度貼吧 Django Apps not loaded 解決匯總