GeoDjango:syncdb无法创建PointField



我在MacOS 10.7上使用Django 1.2和最新版本的Postgres.app。当我运行manage.py syncdb创建一个包含PointField的数据库时,我会得到以下错误:

Installing index for stores.Store model
Failed to install index for stores.Store model: operator class "gist_geometry_ops" does not exist for access method "gist"

这是我之前用来创建空间数据库的Postgres命令(在之前遇到这个问题之后)-它们都不会产生任何错误,这表明PostGIS设置得很好:

$ psql -d stores -U storeadmin
# CREATE EXTENSION postgis;
# ALTER TABLE geometry_columns OWNER TO storeadmin;
# ALTER TABLE spatial_ref_sys OWNER TO storeadmin;

在谷歌上搜索了一下之后,我想知道Postgres.app是否附带了与Django 1.2不兼容的PostGIS版本?我应该升级到更新的Django吗?或者我应该降级到旧的PostGIS吗?如果是,如何降级?

更新:这个线程表明,即使是Django 1.4也与PostGIS 2不兼容。我可以说服Postgres.app使用旧版本吗?还是我应该完全放弃Postgres应用程序?

GeoDjango 1.5已经发布,支持PostGIS 2.0。此时,您的最佳选择是升级。

相关内容

  • 没有找到相关文章

最新更新