这是我的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 []>
它没有任何显示!
为什么会这样?
答案 0 :(得分:3)
由Decimal
实例在Python中表示的Django DecimalField。试试这个:
from decimal import Decimal
Tick.objects.filter(trade_coin_volume=Decimal('0.05'))