sar*_*n3h 6 python django django-models dollar-sign django-money
我使用django-money,然后我在模型中有price字段,如下所示:MoneyField()Product
# "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)),
]
)
Run Code Online (Sandbox Code Playgroud)
然后,在获取价格时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")
Run Code Online (Sandbox Code Playgroud)
我在控制台上得到的价格$如下所示:
$12.54
Run Code Online (Sandbox Code Playgroud)
$现在,如果没有如下所示,我怎样才能得到价格呢?
12.54
Run Code Online (Sandbox Code Playgroud)
sol*_*oke 12
您正在处理一个Money对象(请参阅此处)。该对象有一个amount属性可以为您提供小数金额:
>>> price.amount
Decimal('12.54')
Run Code Online (Sandbox Code Playgroud)
int如果您愿意,您可以转换为它。
| 归档时间: |
|
| 查看次数: |
2707 次 |
| 最近记录: |