Ошибка проверки минимального значения поля DecimalField в Django

Мне нужно десятичное поле в моей форме с минимальным значением 0.20, максимальным значением 20 с 2 знаками после запятой, как вы можете видеть в коде ниже.

forms.DecimalField(min_value=0.20, max_value=20.00, max_digits=4, decimal_places=2, initial=1)

Проблема возникает, когда вы вводите 0.20, потому что вы получаете ошибку валидации:
Убедитесь, что это значение больше или равно 0,20.

Я использую python 3.10 и Django 4.0.4

Вы можете реализовать свой собственный валидатор, также убедитесь, что вы берете значения min / max из файла конфигурации / настроек вместо жесткого кодирования .

https://www.geeksforgeeks.org/custom-field-validations-in-django-models/

использовать десятичную дробь для min_value или max_value:

forms.DecimalField(min_value=Decimal('0.20'), max_value=Decimal('20.00'), max_digits=4, decimal_places=2, initial=1)
Вернуться на верх