gpt4 book ai didi

Django:过滤 `DecimalField` 效果不佳?

转载 作者:行者123 更新时间:2023-12-01 11:49:36 25 4
gpt4 key购买 nike

这是我的 model :

class Tick(BaseModel):
.
.
trade_coin_volume = models.DecimalField(
max_digits=15,
decimal_places=8,
)
trade_price = models.DecimalField(
max_digits=15,
decimal_places=8,
)
.
.

我打印出来 trade_coin_volume所有 Tick对象:
In [9]: for tick in Tick.objects.all():
...: print(tick.trade_coin_volume)
...:
0.02120853
0.05000000
0.26628998
0.19354556
0.32299392
0.72599405
0.05955935
0.05354201
0.00767441
0.05101970
0.20967645
0.10000001
0.00500000
0.00899999
0.15274410
0.32104315
0.00300000
0.22695384
0.05000000
0.13894616
0.00631414
0.07967759
0.28592241
0.23765636
0.05777923
0.08883787
0.05000000
0.14535185

正如你在上面看到的,有一些 0.05000000值。

但是当我过滤 Tick基于此字段的对象,
In [11]: Tick.objects.filter(trade_coin_volume=0.05)
Out[11]: <QuerySet []>

In [12]: Tick.objects.filter(trade_coin_volume=0.05000000)
Out[12]: <QuerySet []>

它什么都不显示!

为什么会发生?

最佳答案

Django DecimalField 在 Python 中表示为 Decimal 实例。尝试这个:

from decimal import Decimal
Tick.objects.filter(trade_coin_volume=Decimal('0.05'))

关于Django:过滤 `DecimalField` 效果不佳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48635517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com