我使用django-money,然后在Product
模型中使用MoneyField()
创建price
字段,如下所示:
# "app/models.py"
from django.db import models
from djmoney.models.fields import MoneyField
from decimal import Decimal
from djmoney.models.validators import MaxMoneyValidator, MinMoneyValidator
class Product(models.Model):
name = models.CharField(max_length=100)
price = MoneyField( # Here
max_digits=5, decimal_places=2, default=0, default_currency='USD',
validators=[
MinMoneyValidator(Decimal(0.00)), MaxMoneyValidator(Decimal(999.99)),
]
)
然后,当得到views.py
中的价格时,如下所示:
# "app/views.py"
from app.models import Product
from django.http import HttpResponse
def test(request):
print(Product.objects.all()[0].price) # Here
return HttpResponse("Test")
我得到的价格与$
上的控制台如下所示:
$12.54
现在,如果没有$
,我如何获得价格,如下所示?
12.54
2条答案
按热度按时间q0qdq0h21#
我们正在处理一个
Money
对象(see here),该对象有一个amount
属性,它将为您提供小数数量:如果需要,您可以将其转换为
int
。lp0sw83n2#
您可以使用
.amount
来获取价格,而不使用$
:然后,您可以在控制台上获得没有
$
的价格,如下所示: