我对将 Decimal 值与 Django Max 聚合查询集中的值进行比较感到困惑。当我期望它为真时,比较返回假,我不知道为什么。
我得到如下查询集:
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。我显然错过了一些非常简单的东西。请指出我疲惫的大脑是什么。谢谢。