2013-07-19 4 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 t это ответ, который я искал. – user2073343

+0

Как вы это делаете в запросе? Или нам нужно зацикливать и форматировать каждое значение? –

Смежные вопросы