django json serializer não implementa geojson
Estou no processo de construção de um site no geodjango. No front-end, eu tenho um mapa em openlayers e quero poder disparar consultas ajax em algum URL do django e retornar geojson.
O problema é que o serializador django json padrão não executa geojson. Então, eu tenho um 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
E eu quero criar uma visão:
def geojson_query(request):
#geographic query
...
assets = Asset.objects.all().filter(point__contained=bb_4326)
json = serializers.serialize("json", assets)
return HttpResponse(json)
Mas, em seguida, recebo uma resposta que se parece mais com isso:
"url_name": "Upper_Svaneti",
"name": "Upper Svaneti",
"point": "POINT (43.0113899999999987 42.9163899999999998)"
Considerando que eu quero algo parecido com isto:
"url_name": "Upper_Svaneti",
"name": "Upper Svaneti",
"geometry": {
"type": "Point",
"coordinates": [43.0113899999999987 42.9163899999999998]
}
Então, acho que minha pergunta é: qual é a melhor maneira de implementar um serializador geojson no django sem rolar totalmente o meu? E se vier a rolar sozinho, por onde começar?