使用MySQL的GeoDjango

17 投票
2 回答
7077 浏览
提问于 2025-04-16 09:18

我一直在用 Django 和 MySQL 开发一个应用,现在想按照这个教程来学习:

http://docs.djangoproject.com/en/1.2/ref/contrib/gis/tutorial/

但是当我运行 syncdb 的时候,出现了以下错误:

AttributeError: 'DatabaseOperations' object has no attribute 'geo_db_type'

我查了一下,发现说如果把后端改成 postGIS 就能解决这个问题。请问有没有办法继续用 MySQL 作为后端,同时又能使用 GeoDjango?如果不行的话,能不能在同一个项目里同时使用这两者?

谢谢,

2 个回答

5

你的MySQL安装了空间数据类型吗?你可以试试下面的代码:

CREATE TABLE geom (g GEOMETRY);

如果这个代码不能识别GEOMETRY类型,那你就需要升级、重新编译或者重新配置你的MySQL了。

36

在你的设置文件中,把 django.contrib.gis.db.backends.mysql 放到数据库引擎的配置里。

撰写回答