Существует приложение под названием python-money . В нем есть некоторый код для определения MoneyField в моделях Django, но наши первоначальные эксперименты с ним показали некоторые проблемы, поэтому мы просто переключились на использование обычного DecimalField .
DecimalField предназначен для валют, и я думаю, что это лучше всего подходит и для вашего случая, потому что не похоже, что вам нужно поддерживать баланс в нескольких валютах.
Редактировать: Отвечать на дополнительные требования, когда необходимы транзакции, управление счетами и т. Д.
Попробуйте мини-книги , особенно обращая внимание на их модели Ledger .
Если это не сработает, я думаю, вам придется выйти за пределы Django и попытаться включить что-то вроде OpenERP или Tryton (форк OpenERP) в ваше приложение Django .