我解析了一个名为cb
的GET参数,66.45,我将其转换为浮点数,得到66.45。
cb = request.GET.get("cb", '')
if re.match('^\d+(\.\d+)?$', cb):
cb=float(cb)
params['cb'] = cb
然后我用它来查询数据库数据,空了。
products = Product.objects.filter(**params)
事实上,我在调试时发现查询sql使用的是66.4500000000000028421709430404007434844970703125
而不是66.45
,这导致了我的空查询结果。
cb
在产品型号中定义如下:
cb = models.DecimalField(max_digits=6, decimal_places=2, default=0)
有什么不对吗?我很迷惑。