2013-07-19 68 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

你如何在查詢中做到這一點?或者我們必須循環和格式化每個值? –

相關問題