Django:将非模型字段添加到 serializers.serialize

Django: Adding a non-model field into serializers.serialize

我有以下代码:

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 我使用注释添加了该字段。

刚刚得到解决方案。我正在使用 serializers.serialize 并将模型转换为 json 数据并且不考虑除模型中存在的任何字段。

所以最好的使用方法是json.dumps

这是工作代码。

invoices = json.dumps(list(pending_invoice), cls=DjangoJSONEncoder)