<django object =“”>:不是JSON可序列化的</django>

时间:2014-08-29 07:49:43

标签: json django

以下是我的观点:

def display_maps(request):
#query_agao = ButuanMaps.objects.filter(clandpin=search_term)
#x = Owner.objects.select_related('landproperty_butuanmaps').get(id=5)
query_agao = ButuanMaps.objects.all().select_related('landproperty')[:10]
query_all = ButuanMaps.objects.all()[:10]
djf = Django.Django(geodjango='geom', properties=['id','clandpin','ssectionid'])
geoj = GeoJSON.GeoJSON()
butuan_agao = geoj.encode(djf.decode(query_agao.transform(3857)))
return render(request, "index.html", {
    'butuan_agao': butuan_agao,
    'query_agao': query_agao,
    'query_all': query_all})

idclandpin不是外键,而是ssectionid

那么,如何序列化外键?

1 个答案:

答案 0 :(得分:1)

您可以使用这样的序列化程序类:

from django.core import serializers
query_agao = ButuanMaps.objects.all().select_related('landproperty')[:10]
json_serialized_objects = serializers.serialize("json", query_agao)

如果您只想序列化几个字段,请执行以下操作:

json_serialized_objects = serializers.serialize("json", query_agao, fields=("fieldname1", "fieldname2"))

其中fieldname1和fieldname2是landproperty模型类的属性。

或者,您可以为landproperty类编写自定义序列化程序,并在调用render时使用它。