Python Django modelfield,如何获取实际值?

Python Django modelfield,如何获取实际值?,python,django,Python,Django,如果我有一个带有如下十进制字段的模型: class Number(models.Model): decimal = models.DecimalField(max_digit=10, decimal_places=3) 然后我想从一个特定的对象中检索这个值: n = Number(decimal=15.5) n.save() # Lets say n got id = 1 decimal = Number.objects.get(id=1).decimal 现在decimal不是15

如果我有一个带有如下十进制字段的模型:

class Number(models.Model):
    decimal = models.DecimalField(max_digit=10, decimal_places=3)
然后我想从一个特定的对象中检索这个值:

n = Number(decimal=15.5)
n.save()
# Lets say n got id = 1
decimal = Number.objects.get(id=1).decimal
现在decimal不是15.5,而是某种十进制数据类型

Decimal('15.5')

那么如何从decimal数据类型中检索15.5呢?

您可以通过将decimal对象值强制转换为float来获取它

例如:

dec = Number.objects.get(id=1).decimal
dec = float(dec)
甚至

dec = str(dec) #Please note this converts to  a string type. 
还有一种方法是

dec = format(dec, '.2f') #Or change the precision to cater to your needs

请注意,使用
decimal
作为变量名不是一个好主意

太好了这就是我想要的答案。在查询中如何做到这一点?还是我们必须循环并格式化每个值?