我需要在Django模型的字段中存储美元金额。使用的最佳模型字段类型是什么?我需要能够让用户输入这个值(带错误检查,只想要一个精确到美分的数字),格式化它以输出到不同位置的用户,并使用它来计算其他数字。
发布于 2009-07-16 18:29:20
发布于 2016-05-27 08:29:08
其他答案是100%正确的,但不是很实用,因为你仍然需要手动管理输出,格式化等。
我建议使用django-money
from djmoney.models.fields import MoneyField
from django.db import models
def SomeModel(models.Model):
some_currency = MoneyField(
decimal_places=2,
default=0,
default_currency='USD',
max_digits=11,
)
根据模板自动工作:
{{ somemodel.some_currency }}
输出:
$123.00
它有一个强大的后端,通过python-money,它本质上是标准十进制字段的替代。
发布于 2012-03-29 23:48:28
field = models.DecimalField(max_digits=8, decimal_places=2)
请注意,max_digits应为>= decimal_places。此示例设置允许的值最大为: 999,999.99
文档:https://docs.djangoproject.com/en/1.10/ref/models/fields/#decimalfield
https://stackoverflow.com/questions/1139393
复制相似问题