2011-01-02 7 views
15

Ich habe an einer Anwendung arbeiten django und MySQL verwenden, versuche nun von diesem hier auf dem Tutorial zu arbeitengeodjango mit mysql

http://docs.djangoproject.com/en/1.2/ref/contrib/gis/tutorial/

aber es versäumt, den Moment, als ich mit dem folgenden Fehler lief syncdb

AttributeError: 'DatabaseOperations' object has no attribute 'geo_db_type' 

Wenn ich lese, sagt es, dass dies gelöst werden kann, wenn das Backend geändert wird, um postGIS zu verwenden. Gibt es eine Möglichkeit, mysql als mein Backend weiter zu verwenden und trotzdem Geodjango zu verwenden? wenn nicht, ist es möglich, beide im selben Projekt zu verwenden?

Grüße,

Antwort

32

In Ihren Einstellungen django.contrib.gis.db.backends.mysql einstellen.DATABASE engine db config.

+0

"Der verwendete Tabellentyp unterstützt keine SPATIAL-Indizes" – Cerin

+1

wo genau setzen Sie das? – raaj

5

Sind in Ihrem MySQL räumliche Datentypen installiert? Was bekommen Sie, wenn Sie das tun:

CREATE TABLE geom (g GEOMETRY); 

Wenn das nicht der Geometrieart nicht erkennt, dann müssen Sie ein Upgrade/neu kompilieren/konfigurieren Sie MySQL.

+0

Ich habe es versucht und es hat funktioniert, der Tisch wurde erstellt. Irgendetwas von Django Setup muss ich tun? –

+0

Ich habe das Problem gefunden, ich sollte die settings.py mit dem neuen mysql gis Treiber 'django.db.backends.mysql' aktualisieren. Jetzt funktioniert es :) –