2011-01-02 11 views
15

Ho lavorato su un'applicazione utilizzando Django e mysql, sto provando ora a lavorare sul tutorial da questo quigeodjango utilizza MySQL

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

ma non è riuscito il momento mi sono imbattuto syncdb con il seguente errore

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

Quando ho letto in giro, si dice che questo può essere risolto se è cambiata il backend di utilizzare PostGIS. C'è un modo per continuare a usare mysql come mio backend e ancora essere in grado di usare geodjango? in caso contrario, è possibile utilizzare entrambi nello stesso progetto?

saluti,

risposta

32

set django.contrib.gis.db.backends.mysql nelle impostazioni.DATABASE motore db config.

+0

"Il tipo di tabella utilizzato non supporta gli indici SPATIAL" – Cerin

+1

dove esattamente lo metti? – raaj

5

Il tuo MySQL ha tipi di dati spaziali installati? Che cosa si ottiene se si fa:

CREATE TABLE geom (g GEOMETRY); 

Se che non riconosce il tipo di geometria, quindi è necessario aggiornare/ricompilare/riconfigurare il MySQL.

+0

L'ho provato e ha funzionato, il tavolo è stato creato. Qualcosa da impostare django devo fare? –

+0

Ho trovato il problema, dovevo aggiornare il settings.py con il nuovo driver mysql gis 'django.db.backends.mysql'. Ora funziona :) –

Problemi correlati