Ошибка проверки минимального значения поля 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)