gpt4 book ai didi

python - Django - 如何在序列化的 QuerySet 中包含带注释的结果?

转载 作者:行者123 更新时间:2023-11-28 21:53:50 24 4
gpt4 key购买 nike

如何在序列化的 QuerySet 中包含注释结果?

data = serializer.serialize(Books.objects.filter(publisher__id=id).annotate(num_books=Count('related_books')), use_natural_keys=True)

但是键/值对 {'num_books': number} 不包含在 json 结果中。

我一直在互联网上搜索类似的问题,但没有找到适合我的解决方案。

这是一个类似的案例:http://python.6.x6.nabble.com/How-can-you-include-annotated-results-in-a-serialized-QuerySet-td67238.html

谢谢!

最佳答案

我做了一些研究,发现 serializer.serialize 只能序列化查询集,而注释只是为查询集的每个对象添加一个属性,所以当您尝试序列化查询时,注释字段是'显示。这是我的实现方式:

from django.core.serializers.json import DjangoJSONEncoder

books = Books.objects.filter(publisher__id=id).annotate(num_books=Count('related_books')).values()
json_data = json.dumps(list(books), cls=DjangoJSONEncoder)

关于python - Django - 如何在序列化的 QuerySet 中包含带注释的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25401103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com