私はgeodjangoでウェブサイトを構築中です。フロント エンドには openlayers のマップがあり、django の URL で ajax クエリを実行して 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 シリアライザーを実装する最良の方法は何だと思いますか? そして、それが自分自身を転がすことになるとしたら、どこから始めればよいでしょうか?