Джанго - Как разрешить пользователям вводить десятичные дроби в научных обозначениях? - PullRequest
2 голосов
/ 06 апреля 2011

Я хочу, чтобы пользователи могли вводить стандартное десятичное значение, например 1,51, или вводить значение в научной нотации, например, 4,08E + 13.

Я установил десятичное поле в своей модели, но когда я пытаюсьвведите приведенный выше пример, я получаю это сообщение проверки:

«Убедитесь, что не более 3 десятичных знаков».

Примечание:

Я заметил, что Python ужеподдерживает этот формат:

>>> from decimal import Decimal
>>> print Decimal("4.08E+13")
4.08E+13

Так что, может быть, не составит труда настроить что-то в Django?

1 Ответ

2 голосов
/ 06 апреля 2011

Это похоже на ошибку Django, DecimalField.validate () не подходит для положительных показателей:

>>> from django.forms import DecimalField
>>> f = DecimalField(max_digits=10, decimal_places=1)
>>> f.validate(Decimal('1E+2'))
Traceback (most recent call last):
...
ValidationError: [u'Ensure that there are no more than 1 decimal places.']

Вы можете сообщить об ошибке .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...