我在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命令(之前有this problem之后) - 它们都没有产生任何错误,这表明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,如果是,如何降级?
更新:This thread表明即使Django 1.4与PostGIS 2不兼容。我可以说服Postgres.app使用旧版本吗?或者我应该完全放弃Postgres.app?
答案 0 :(得分:0)
GeoDjango 1.5已发布,支持PostGIS 2.0。此时,您最好的选择是升级。