Decimal 値を Django Max 集計クエリセットの値と比較すると何が起こっているのか混乱しています。true であると期待しているのに false が返されますが、その理由がわかりません。
次のようなクエリセットを取得します。
prev_hourly_rate = PayRate.objects.filter(employee__exact=emp_pk).exclude(pk=pay_rate_id).aggregate(Max('hourlyRate'))
それが返ってくる
{'hourlyRate__max': Decimal('25.1234')}
その Decimal 値を別の Decimal 値 25.1234 (変数 hr で表される) と比較したいのですが、False が返されます。私は次のように比較しています:
if prev_hourly_rate['hourlyRate__max'] == hr:
また
if prev_hourly_rate['hourlyRate__max'] == Decimal(hr):
あるいは
if prev_hourly_rate['hourlyRate__max'] == Decimal.from_float(hr):
常に False を返します。私は明らかに本当に単純なものが欠けています。疲れた脳みその正体を教えてください。ありがとう。