首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用来表示美元金额的最佳django模型字段是什么?

用来表示美元金额的最佳django模型字段是什么?
EN

Stack Overflow用户
提问于 2009-07-16 18:23:35
回答 5查看 70.5K关注 0票数 125

我需要在Django模型的字段中存储美元金额。使用的最佳模型字段类型是什么?我需要能够让用户输入这个值(带错误检查,只想要一个精确到美分的数字),格式化它以输出到不同位置的用户,并使用它来计算其他数字。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-07-16 18:29:20

decimal field是货币值的正确选择。

它看起来像这样:

credit = models.DecimalField(max_digits=6, decimal_places=2)
票数 219
EN

Stack Overflow用户

发布于 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,它本质上是标准十进制字段的替代。

票数 46
EN

Stack Overflow用户

发布于 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

票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1139393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档