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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-easymoney-0.7.2.tar.gz
.
File metadata
- Download URL: django-easymoney-0.7.2.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7654652f1ab56d08e19fc29f1e01cf525261a5b10c61f03973ec85b029e66b54 |
|
MD5 | 696505830f816b60231eb71fc30c6ee1 |
|
BLAKE2b-256 | a69e78ba506e396fa3da4524295c39247542331bcd1926b49074db410f7b98ad |