2011-01-02 4 views
15

Je travaille sur une application à l'aide django et mysql, je suis maintenant essayer de travailler sur le tutoriel de ce iciGeoDjango en utilisant MySQL

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

mais il a échoué au moment où je courais syncdb avec l'erreur suivante Quand je lis, il est dit que cela peut être résolu si le backend est modifié pour utiliser postGIS. Existe-t-il un moyen de continuer à utiliser mysql en tant que backend et de pouvoir utiliser geodjango? sinon, est-il possible d'utiliser les deux dans le même projet?

Cordialement,

Répondre

32

définir django.contrib.gis.db.backends.mysql dans vos paramètres.DATABASE moteur db config.

+0

"Le type de table utilisé ne supporte pas les index SPATIAL" – Cerin

+1

où exactement mettez-vous cela? – raaj

-2

Le GeoDjango installation docs entrer dans les détails sur ce que les bibliothèques sont nécessaires pour utiliser les différents backends db.

5

Est-ce que votre MySQL a des types de données spatiales installés? Qu'est-ce que vous obtenez si vous le faites:

CREATE TABLE geom (g GEOMETRY); 

Si cela ne reconnaît pas le type de GEOMETRIE, alors vous devez mettre à jour/recompiler/reconfigurer MySQL.

+0

Je l'ai essayé et ça a marché, la table a été créée. Quelque chose de configuration django je dois faire? –

+0

J'ai trouvé le problème, je devais mettre à jour le settings.py avec le nouveau pilote mysql gis 'django.db.backends.mysql'. Maintenant son fonctionnement :) –

Questions connexes