Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使Min/MaxValueValidator与Django';马尔菲尔德在哪里?_Python_Django_Validation_Decimal - Fatal编程技术网

Python 如何使Min/MaxValueValidator与Django';马尔菲尔德在哪里?

Python 如何使Min/MaxValueValidator与Django';马尔菲尔德在哪里?,python,django,validation,decimal,Python,Django,Validation,Decimal,Django 2.1.2(Python 3.7.0)中似乎出现了一个奇怪的故障: 这是预期的行为: >>> f.clean(15, model_instance=None) Decimal('15') >>> f.clean('15', model_instance=None) Decimal('15') 但这不起作用: >>> f.clean(5, model_instance=None) Traceback (most recent c

Django 2.1.2(Python 3.7.0)中似乎出现了一个奇怪的故障:

这是预期的行为:

>>> f.clean(15, model_instance=None)
Decimal('15')
>>> f.clean('15', model_instance=None)
Decimal('15')
但这不起作用:

>>> f.clean(5, model_instance=None)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/.../anaconda3/envs/django/lib/python3.7/site-packages/django/db/models/fields/__init__.py", line 632, in clean
    self.run_validators(value)
  File "/Users/.../anaconda3/envs/django/lib/python3.7/site-packages/django/db/models/fields/__init__.py", line 591, in run_validators
    raise exceptions.ValidationError(errors)
django.core.exceptions.ValidationError: <exception str() failed>
我做错了什么

注意:我知道如何在ModelForm中手动验证此字段,但我更愿意避免这种变通方法。我检查了一些相关的答案,但没有成功:


如果我错了,请纠正我,但它工作正常吗?将minValueValidator设置为10,将maxValueValidator设置为20,如果输入数字n20,则会引发异常,否则会返回十进制。
>>> f.clean(5, model_instance=None)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/.../anaconda3/envs/django/lib/python3.7/site-packages/django/db/models/fields/__init__.py", line 632, in clean
    self.run_validators(value)
  File "/Users/.../anaconda3/envs/django/lib/python3.7/site-packages/django/db/models/fields/__init__.py", line 591, in run_validators
    raise exceptions.ValidationError(errors)
django.core.exceptions.ValidationError: <exception str() failed>
>>> f.clean('5', model_instance=None)
>>> f.clean(25, model_instance=None)