Как установить глобальное округление для DecimalFields в проекте Django? - PullRequest
0 голосов
/ 26 апреля 2018

Я нашел похожий вопрос с ответами, но «установка параметра в settings.py» и «установка getcontext () в apps.py» не работает. Стандартное десятичное округление - ROUND_HALF_EVEN, но мне нужно установить ROUND_HALF_UP.

И я повторяю свой вопрос с цитатой - «где в приложении Django я должен установить опцию округления, чтобы она работала глобально в проекте?»

1 Ответ

0 голосов
/ 27 апреля 2018

Для проекта django может работать настройка decimal.DefaultContext ( py3 , py2 ).

Этот контекст наиболее полезен в многопоточных средах.

Это мой код от settings.py:

import decimal
# Set global decimal rounding to ROUND_HALF_UP (instead of ROUND_HALF_EVEN).
project_context = decimal.getcontext()
project_context.rounding = decimal.ROUND_HALF_UP
decimal.DefaultContext = project_context
...