Skip to main content

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

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.

Release history Release notifications | RSS feed

This release

0.7.2 This release

1 file

0.7.1

1 file

0.7

1 file

0.6

1 file

0.5

1 file

0.4.1

1 file

0.4

1 file

0.3.6

1 file

0.3.5

1 file

0.3.4

1 file

0.3.3

1 file

0.3.2

1 file

0.3.1

1 file

0.2

1 file

0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page