use*_*632 5 django django-queryset
这是我的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,
)
.
.
Run Code Online (Sandbox Code Playgroud)
我打印出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
Run Code Online (Sandbox Code Playgroud)
正如您在上面看到的,有一些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 []>
Run Code Online (Sandbox Code Playgroud)
它没有显示任何东西!
为什么会发生这种情况?
Django DecimalField 用 Python 表示的Decimal实例。尝试这个:
from decimal import Decimal
Tick.objects.filter(trade_coin_volume=Decimal('0.05'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1926 次 |
| 最近记录: |