2015-05-25 2 views
2

Я пытаюсь сериализации данных в формате GeoJSON однако всякий раз, когда я используюDjango SerializerDoesNotExist 'geojson'?

json = serialize("geojson", coordinate.objects.all()) 
response = HttpResponse(json) 
return response 

Джанго дает мне

SerializerDoesNotExist в/getmarkers/ 'GeoJSON'

это работает отлично

json = serialize("json", coordinate.objects.all()) 

уверен, что кто-либо еще, кто h как пытались использовать сериализатор geojson, столкнулась с той же проблемой. Я установил библиотеку GDAL, как сказано в документации. Есть идеи? Не похоже, чтобы действительно найти что-либо в документации о том, что модули должны быть импортированы я попытался

from django.contrib.gis import gdal 

Не выдаст ошибку, но не решить проблему Я использую Django 1.8

ответ

8

Вам необходимо включить GeoJSON сериалайзер в settings.py

SERIALIZATION_MODULES = { 
    "geojson": "django.contrib.gis.serializers.geojson", 
} 
+0

спасибо за ответ человека, я относительно новым Джанго и смотрел по всей документации сериализации и не увидел ничего о добавлении его к settings.py моим решение использовало внешний сторонний сериализатор которые отлично работали. Однако я хотел бы использовать то, что могу, из того, что поставляется с django, поэтому я могу вернуться к сериализатору django. Ваше решение работает, однако есть ли определенное поле, которое django ищет в моделях, которые будут использоваться для координат, потому что я не могу получить какие-либо координаты для отображения в области геометрии? – Groovietunes

+0

большое спасибо! –

+1

Django должен действительно включить это в [документы для сериализатора geojson] (https://docs.djangoproject.com/en/1.11/ref/contrib/gis/serializers/#). Если бы не этот пост, я бы тоже посмотрел. –

Смежные вопросы