我只想从MoneyField值中提取十进制值。现在,该字段的值呈现为US $ 1.00之类的值,但这在仅需要使用十进制值时并不理想。我收到诸如[“'US $ 1.00'的值必须为十进制数字”之类的错误消息。
答案 0 :(得分:2)
Django的MoneyField
使用py-moneyed
package [GitHub]的Money
类作为数据的“ Python端”。
此Money
class [GitHub]基本上具有两个属性:amount
和currency
。
因此,如果您有Money
对象,则可以检索.amount
对象,如GitHub页面所示:
>>> from moneyed import Money, USD >>> price = Money('19.50', USD) >>> price 19 USD >>> price.amount Decimal('19.50') >>> price.currency USD >>> price.currency.code 'USD'
因此,您可以通过调用构造函数来创建Money
对象,并检索属性以对金额和货币进行单独处理。