Skip to main content

An easy MoneyField for Django.

Project description

An easy to use money field for Django. Handles type conversions and arithmetic seamlessly.

Requirements

Python 2.7 and 3.3+, Django 1.6+.

Installation

pip install django-easymoney

Overview

from django.db import models
from easymoney import MoneyField

class MyModel(models.Model):
    price = MoneyField(default=3.14)
    other_price = MoneyField(default=1)


obj = MyModel()
print obj.price # -> $3.14

# Money arithmetic
obj.price + obj.other_price # $4.14

# Mix with ints and floats
obj.price + 1   # $4.14
obj.price + 0.2 # $3.34

# No partial cents or crazy floats
obj.price / 3   # $1.05

Settings

A primary use of easymoney is global currency defined in settings with global formatting and precision. Here is how you do that:

# These are default settings, code and locales refer to ones used in babel library
CURRENCY_CODE = 'USD'
CURRENCY_LOCALE = 'en_US'
CURRENCY_DECIMAL_PLACES = 2

# This is optional, for cases when you want to use some fake currency
CURRENCY_FORMAT = '# points'

Several currencies

One money field can’t store different currencies, however, you can create different money classes and model fields for them:

from easymoney import Money, MoneyField

class GameMoney(Money):
    # CODE = '...'
    # LOCALE = '...'
    DECIMAL_PLACES = 0
    FORMAT = '# points'

class GameMoneyField(MoneyField):
    MONEY_CLASS = GameMoney

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-easymoney-0.7.2.tar.gz (6.0 kB view details)

Uploaded Source

File details

Details for the file django-easymoney-0.7.2.tar.gz.

File metadata

File hashes

Hashes for django-easymoney-0.7.2.tar.gz
Algorithm Hash digest
SHA256 7654652f1ab56d08e19fc29f1e01cf525261a5b10c61f03973ec85b029e66b54
MD5 696505830f816b60231eb71fc30c6ee1
BLAKE2b-256 a69e78ba506e396fa3da4524295c39247542331bcd1926b49074db410f7b98ad

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page