我正在尝试加入 2 个实体,从中获取特定字段,然后返回该实体的 JSON。
我尝试编写以下代码:
import datetime
result = Foo.objects.all()
result = result.select_related('bar').extra(select={'bar_has_address':'IF(bar.has_address = '',0,1)'})
result = result.filter(time__gte=datetime.date.today())
return HttpResponse(serializers.serialize('json', result),mimetype="application/json")
现在我只获取包含 Foo 字段的 json,而我也想获取 Bar 的字段,理想情况下返回的 JSON 将具有来自两个实体的特定字段:
[{
'name': 'lorem ipsum', //from Foo
'has_address': 1, //from Bar
'address': 'some address', //from Bar
'id': 1, //from Foo
},... ]
即使在result.values('...')
我没有得到 Bar 的任何字段
我在这里缺少什么?
据我所知,django内置序列化器无法处理模型相关字段。看一眼:
- DjangoFullSerializers
- this answer和建议的序列化器
- 相关的公开票在 Django 问题跟踪器中
另请参阅:
- 继承模型的Django序列化
- 使用反向一对一字段将 django 模型序列化为 JSON
希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)