我有这些模特:Ml,Mli和Mlvid。我抓住以下信息
mliv = Mlvid.objects.filter(mli__ml__pipe_id=175083)
我该如何消毒这样的东西?我可以像下面这样序列化它
serdata = serializers.serialize("json", mliv)
但它只包含Mlvid字段。如何添加与查询相关的Ml和Mli字段?谢谢。如果您需要更多信息,请告诉我。
我在想我需要迭代mli并构建一个list / dict然后序列化列表或者之后使用dict。
答案 0 :(得分:0)
问题是mliv
包含对象。您可以查询所需的字段,而不是整个对象:
mliv = Mlvid.objects.filter(mli__ml__pipe_id=175083).values('field_1', 'field_2')
field_1
和field_2
是Mlvid
个字段的位置。您将获得一系列dicts,serializables。
答案 1 :(得分:0)
为了序列化如下所示的查询集并获取所有相关字段:
mliv = Mlvid.objects.filter(mli__ml__pipe_id=175083)
首先我使用了值() mliv = Mlvid.objects.filter(mli__ml__pipe_id = 175083).value(' mli__ml__street')
接下来我创建一个列表
mlist=[]
现在我遍历mliv并将内容添加到列表中
for m in mliv:
mlist.append(m)
接下来,我将列表传递给JsonResponse()
resp = JsonResponse(mlist, safe=False)