2013-07-19 98 views
3

如果我有这样的十进制领域的典范:Django modelfield,我如何获得实际值?

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 

现在十进制不是15.5,而不是它的一些十进制数据类型

Decimal('15.5') 

那么如何从十进制数据类型检索15.5?

回答

1

通过将其转换为浮点型,您可以获得Decimal对象值。

例子:

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作为变量名是个好主意

+0

Grea这是我正在寻找的答案。 – user2073343

+0

你如何在查询中做到这一点?或者我们必须循环和格式化每个值? –

相关问题