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

执行Django makemigrations时PostGIS相关OSMGeoAdmin导入错误

解决ImportError: cannot import name 'OSMGeoAdmin' from 'django.contrib.gis.admin'

问题根源

Django 4.0及更高版本中,OSMGeoAdmin已被移除,官方替换为OSMAdmin,你的代码仍在使用旧的导入名称,导致触发该错误。

修复操作

  • 修改core/admin.py中的导入语句:
    将
    from django.contrib.gis.admin import OSMGeoAdmin
    
    替换为
    from django.contrib.gis.admin import OSMAdmin
    
  • 若你的代码中用OSMGeoAdmin注册了地理模型(比如Land),同步更新注册代码:
    例如将
    admin.site.register(Land, OSMGeoAdmin)
    
    改为
    admin.site.register(Land, OSMAdmin)
    

补充说明

你配置的GDAL和GEOS路径是有效的,但本次报错与GIS库路径无关,完全是Django版本迭代后的API变更导致。

内容的提问来源于stack exchange,提问作者syed Mazhar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 10:02:07