大家好我是新手试图在Django中创建一个应用程序现在我需要用F表达式运行查询一切正常,但是当我尝试使用Sum得到两个总计字段时其余的注释字段只是消失
query = FinalReport.objects.values('customers', 'currency_desc','design_fee' ,
'currency', 'month', 'year', 'categories')\
.annotate(pairs=F('total_lenses')/2, invoice=ExpressionWrapper(F('pairs') * F('design_fee'),
output_field=DecimalField(decimal_places=1000, max_digits=5)), total_pairs=Sum(F('total_lenses')/2))
当我运行它时,对字段和发票字段值刚刚消失。并且total_pairs字段不显示Django都没有显示任何错误。
答案 0 :(得分:0)
你试过这个:
query = FinalReport.objects.values('customers', 'currency_desc', 'design_fee',
'currency', 'month', 'year', 'categories') \
.annotate(pairs=F('total_lenses') / 2,)\
.annotate(invoice=ExpressionWrapper(F('pairs') * F('design_fee'),
output_field=DecimalField(decimal_places=1000, max_digits=5)))\
.annotate(total_pairs=Sum(F('total_lenses') / 2))
我注意到注释有时会混淆,将它分开可能有所帮助。