json - <Django对象> : is not JSON serializable

标签 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

那么,如何序列化外键呢?

最佳答案

您可以像这样使用序列化器类:

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 类编写自定义序列化程序,并在调用渲染时使用它。

关于json - <Django对象> : is not JSON serializable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25563855/

相关文章:

python - 导入错误 : cannot import name reverse_lazy

java - Gson反序列化为 map

python - 如何从具有多个过滤器的 API 查询 JSON 数据?

php - 如何按某个键的值对 JSON 对象进行排序

django - 为什么 nginx 在对链接的 docker 容器执行 `uwsgi_pass` 时返回 502?

django - 如何在 Web 应用程序中管理时区?

python - 当 docker-compose 不在同一文件夹中时启动 gunicorn

javascript - .data 函数和/或 jsonrequest 方法

javascript - 使用 Google Chrome 扩展导入/导出 JSON 文件?

json - 加密 SSL/TLS 端到端