我在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应用程序?