我正在geodjango上建立一个网站的过程。在前端,我有一个关于openlayers的地图,我希望能够在某个django url上触发ajax查询并返回geojson。django json序列化程序没有实现geojson
问题是标准的django json序列化程序不会做geojson。所以我有这样一个模型:
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
我想创建一个视图:
def geojson_query(request):
#geographic query
...
assets = Asset.objects.all().filter(point__contained=bb_4326)
json = serializers.serialize("json", assets)
return HttpResponse(json)
但后来我回来,看起来更像是对此作出回应:
"url_name": "Upper_Svaneti",
"name": "Upper Svaneti",
"point": "POINT (43.0113899999999987 42.9163899999999998)"
而我想看起来像这样的东西:
"url_name": "Upper_Svaneti",
"name": "Upper Svaneti",
"geometry": {
"type": "Point",
"coordinates": [43.0113899999999987 42.9163899999999998]
}
所以我想我的问题是,在django中实现geojson序列化程序的最佳方式是什么,而不是完全滚动我自己的?如果要滚动我自己,我该从哪里开始?