2012-11-30 28 views
0

我在MacOS 10.7上使用Django 1.2和最新版本Postgres.app。當我運行manage.py syncdb與一個PointField創建一個數據庫中,我得到以下錯誤:GeoDjango: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配備了一個版本的PostGIS的是在Django 1.2不兼容?我應該升級到更新的Django嗎?或者我應該降級到較舊的PostGIS,如果是這樣,如何?

更新:This thread表明,即使Django 1.4與PostGIS 2不兼容。我可以說服Postgres.app使用舊版本嗎?或者我應該放棄Postgres.app?

+0

難道你不能加載PostGIS 2.0附帶的PostGIS 1.x兼容性腳本嗎? –

+0

此外,由於Django 1.5(目前處於beta版)GeoDjango支持PostGIS 2.0+。如果您有興趣並想嘗試一下,我們(位於BitNami)最近發佈了一個安裝程序[http://bitnami.org/stack/djangostack],其中包括Python,Django 1.5和PostgreSQL以及PostGIS 2.0.1。它是自包含的,不會干擾系統中的其他任何內容。 – kaysa

回答

0

GeoDjango 1.5已發佈,支持PostGIS 2.0。此時你最好的選擇是升級。