skillfed

django-money

Adds support for using money and currency fields in django models and forms. Uses py-moneyed as the money implementation.

django-money v3.6.1 837.8K downloads/30d#4,930 on PyPI1,775
Permissive license BSD Abandoned released

What it is and what it does

django-money extends Django with native Money and currency field types for models and forms. It wraps py-moneyed to provide a standard Money design pattern, currency definitions for all currencies in circulation, and proper formatting with correct currency signs. You define a field in your model with a maximum number of digits and decimal places, optionally specifying a default currency; the field stores both the numeric amount and the currency code separately in the database, and you can query, filter, and validate money amounts across different currencies.

The package integrates with Django's admin interface to display money fields correctly and supports callable defaults to avoid unnecessary migrations when configuration changes. It includes validators for numeric ranges, single currency amounts, or per-currency limits, and handles nullable money fields. Forms built from models with money fields automatically split into two input fields—one for amount and one for currency—making it straightforward to construct form data in tests or programmatically.

Use it for:

  • Store and query account balances, prices, or financial amounts in Django models with automatic currency tracking.
  • Build multi-currency e-commerce or invoicing systems where different records may use different currencies.
  • Validate monetary inputs with per-currency min/max constraints in forms and model validation.
  • Display money values in the Django admin with correct currency symbols and formatting.
  • Implement accounting applications requiring strict decimal precision and currency separation.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Adds Money and currency field types to Django models and forms, handling monetary values with proper currency support through py-moneyed.

No—the repository is archived and abandoned as of June 2026, with no active maintenance. While the package is stable and has low install friction, choosing an abandoned financial library introduces risk: no fixes for Django/Python compatibility issues, no security patches, and no support for future ecosystem changes. For new projects, seek an actively maintained alternative; for existing projects, consider migration planning.

Install

django-money on PyPI

pip

pip install django-money

uv

uv add django-money

poetry

poetry add django-money

Installing django-money

Before you install

Low friction install with just two runtime dependencies. However, the repository is archived and marked abandoned as of the last commit on 2026-06-15, meaning no active maintenance or bug fixes should be expected going forward.

License in practice

Licensed under BSD (permissive), so you can use, modify, and distribute the package freely in commercial and private projects with minimal restrictions.

Quickstart

pip install django-money

# In settings.py
INSTALLED_APPS = [..., 'django-money', ...]

# In models.py
from django.db import models

class BankAccount(models.Model):
    balance = MoneyField(max_digits=14, decimal_places=2, default_currency='USD')

Requires Django 4.2+ and Python 3.10+; the repository is archived and no longer maintained.

Verify before relying

  • Whether the abandoned status affects long-term compatibility with future Django/Python releases.
  • Whether there are known issues or limitations not documented in the excerpt.
  • Community fork or maintained alternative availability.

Package facts

License BSD (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 2 — Django, py-moneyed
Maintenance abandoned — 68 days since the last release
Last repo commit (repository archived)
First released
Downloads 837,834/month — #4,930 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: django_money-3.6.1-py3-none-any.whl

Keywords: django, money, py-money

Development Status :: 5 - Production/StableFramework :: DjangoFramework :: Django :: 4.2Framework :: Django :: 5.0Framework :: Django :: 5.1Framework :: Django :: 5.2Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

django money fieldcurrency support django modelsmonetary value django ormdjango financial fieldsmoney handling django formsmulti-currency djangodecimal currency django
django-ormfinancial-datamulti-currency

More Application Frameworks packages