我有以下代码:
pending_invoices=invoice.objects.filter(user=request.user,customer=pk).annotate(sum_invoices=Sum('invoicereceipt__amount'))
pending_invoice=pending_invoices.filter(~Q(sum_invoices=0))
invoices=serializers.serialize('json', pending_invoice,fields=("number","sum_invoices"))
return HttpResponse(invoices,content_type='application/json')
我正在尝试通过ajax获取JSON数据。
我可以在输出中成功获得number
字段。但是我注释了sum_invoices
并且在json输出中没有得到这个值。
我的问题是我的上述代码是否正确,如果没有,那么如何将注释字段和结果添加到我的json输出中?
编辑:
invoices=serializers.serialize('json', pending_invoice,fields=("number","sum_invoices"))
在上面这一行"number"
是我模型中的一个字段,sum_invoices
是我使用注释添加的。
答案 0 :(得分:0)
刚刚得到了解决方案。我正在使用serializers.serialize
并将模型转换为json数据,并且不考虑模型中存在的任何字段。
所以最好的使用方式是json.dumps
这是工作代码。
invoices = json.dumps(list(pending_invoice), cls=DjangoJSONEncoder)