GeoDjango: syncdb не удалось создать PointField

Я использую Django 1.2 и последнюю версию Postgres.app на MacOS 10.7. Когда я бегу 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;

Поработав немного о поиске в Google, мне интересно, возможно, Postgres.app поставляется с версией PostGIS, несовместимой с Django 1.2? Должен ли я перейти на более новую версию Django? Или я должен перейти на более раннюю версию PostGIS, и если да, то как?

ОБНОВЛЕНИЕ: Эта ветка предполагает, что даже Django 1.4 не совместим с PostGIS 2. Могу ли я убедить Postgres.app использовать более старую версию? Или я должен отказаться от Postgres.app в целом?

1 ответ

GeoDjango 1.5 был выпущен с поддержкой PostGIS 2.0. На данный момент ваш лучший вариант - обновить.

Другие вопросы по тегам