0
我有一個Django 1.9 queryset的QS到我添加了以下注釋:Django的註釋F()/ F() 「輪」 意外
qs = qs.annotate(total_messages=
Sum(Case(..., output_field=FloatField()))
qs = qs.annotate(spam_messages=
Sum(Case(..., output_field=FloatField()))
qs = qs.annotate(spam_rate=F('spam_messages')/F('total_messages'))
古怪,結果似乎被向下取整(如數學.floor),所以我得到的結果如下(舉例):
total_messages = 40.0, spam_messages = 24.0, spam_rate = 0.0
total_messages = 10.0, spam_messages = 10.0, spam_rate = 1.0
而且,它可能是這種行爲只能從Django的1.7升級到1.9的Django後發生的情況。
我做錯了什麼或者是一個錯誤?
提前致謝!
你可以在你的'Case'表達式中充實... ...嗎? – lac