Django:请求值时,从带queryset注释的字段中删除小数前缀 [英] Django: remove Decimal prefix from queryset annotated field, when requesting values

查看:26
本文介绍了Django:请求值时,从带queryset注释的字段中删除小数前缀的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

简而言之,我有这个查询集:

monthly_revenue = list(Booking.objects.annotate(month=Month('created_at'))
                           .values('month')
                           .annotate(total=Sum('price'))
                           .order_by('month'))

这是它返回的内容:

[{'month': 11, 'total': Decimal('4550.00')}]

结果将转到js脚本以显示图形,我需要删除Decimal()前缀。 感谢任何帮助或提示。

推荐答案

如果您只想删除"DECIMAL"前缀,则只需在批注中定义特定的输出字段:

monthly_revenue = list(Booking.objects.annotate(month=Month('created_at'))
                           .values('month')
                           .annotate(total=Sum('price', output_field=FloatField()))
                           .order_by('month'))

这篇关于Django:请求值时,从带queryset注释的字段中删除小数前缀的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆