You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django使用cities_light库遇AppRegistryNotReady错误求助

问题解决:无需重写模型,修正导入路径即可

错误的核心原因是你错误地从cities_light.admin导入了City模型,admin模块的加载时机晚于模型初始化阶段,导致在Django加载模型时触发AppRegistryNotReady异常。

正确的模型代码

把City的导入路径改成从cities_light.models导入,而不是admin:

from cities_light.models import City
from django.db import models

class Home(models.Model):
    location = models.ForeignKey(City, on_delete=models.CASCADE)

为什么之前视图能正常运行?

视图是在Django应用完全初始化之后才会被调用的,此时admin模块已经加载完成,所以从admin导入City不会触发错误;但模型文件在应用启动、migrations执行阶段就会被加载,这时候admin模块还没准备好,直接导入就会报错。

后续操作

  • 修正导入后,重新执行迁移命令:
python manage.py makemigrations
python manage.py migrate
  • 重启Django服务即可正常运行。

内容的提问来源于stack exchange,提问作者Martin Dimov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 08:40:24