Django:如何存储货币值?

19 浏览
0 Comments

Django:如何存储货币值?

我在这里遇到了一个范式问题。我不知道是否应该将货币存储为Decimal(),还是将其存储为字符串并自己转换为十进制。我的理由是这样的:PayPal要求保留两位小数,所以如果我有一个价格恰好是49美元的产品,PayPal希望看到49.00传输到服务器。Django的DecimalField()没有设置小数位数,它只存储一个最大小数位数。因此,如果你将49存储在其中,并且将字段设置为2个小数位数,它仍然会将其存储为49。我知道Django在从数据库反序列化回Decimal时基本上是类型转换(因为数据库没有十进制字段),所以我对速度问题不是完全担心,而是更关注这个问题的设计问题。我想做最适合可扩展性的选择。或者,更好的是,有没有人知道如何配置django DecimalField()始终使用TWO_PLACES格式化样式。

0