django json serializer no implementa geojson
Estoy en el proceso de construir un sitio web en geodjango. En la parte frontal, tengo un mapa de capas abiertas y quiero poder realizar consultas ajax en alguna url de django y recuperar geojson.
El problema es que el serializador django json estándar no hace geojson. Entonces tengo un modelo como:
class Asset (models.Model):
objects = models.GeoManager()
url_name = models.CharField(max_length=200)
name = models.CharField(max_length=200)
point = models.PointField(srid=4326)
def __unicode__(self):
return self.name
Y quiero crear una vista:
def geojson_query(request):
#geographic query
...
assets = Asset.objects.all().filter(point__contained=bb_4326)
json = serializers.serialize("json", assets)
return HttpResponse(json)
Pero luego recibo una respuesta que se parece más a esto:
"url_name": "Upper_Svaneti",
"name": "Upper Svaneti",
"point": "POINT (43.0113899999999987 42.9163899999999998)"
Mientras que quiero algo que se vea así:
"url_name": "Upper_Svaneti",
"name": "Upper Svaneti",
"geometry": {
"type": "Point",
"coordinates": [43.0113899999999987 42.9163899999999998]
}
Así que supongo que mi pregunta es, ¿cuál es la mejor manera de implementar un serializador Geojson en Django sin rodar totalmente el mío? Y si se trata de rodar el mío, ¿por dónde empiezo?