Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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 “Django DecimalField生成”;“量化结果对于当前上下文有太多的数字”;保存时出错_Python_Django_Django Models_Decimal - Fatal编程技术网

Python “Django DecimalField生成”;“量化结果对于当前上下文有太多的数字”;保存时出错

Python “Django DecimalField生成”;“量化结果对于当前上下文有太多的数字”;保存时出错,python,django,django-models,decimal,Python,Django,Django Models,Decimal,我有一个这样的模型: class ModelWithDecimal(models.Model): value = models.DecimalField(max_digits=2,decimal_places=2) …然而当我尝试 obj = ModelWithDecimal(value="1.5") obj.save() 我得到一个量化结果,在保存过程中,当前上下文的位数过多。这不是可以吗?它小于2位,小数点后小于2位 模型也会发生同样的错误: class ModelWithDec

我有一个这样的模型:

class ModelWithDecimal(models.Model):
    value = models.DecimalField(max_digits=2,decimal_places=2)
…然而当我尝试

obj = ModelWithDecimal(value="1.5")
obj.save()
我得到一个
量化结果,在保存过程中,当前上下文的位数过多。这不是可以吗?它小于2位,小数点后小于2位

模型也会发生同样的错误:

class ModelWithDecimal(models.Model):
    value = models.DecimalField(max_digits=11,decimal_places=8)
…和尝试的实例

obj = ModelWithDecimal(value="1005.7")
obj.save()
同样,它似乎应该是有效的:总共只有4位数字(小于11),小数点后只有1位(小于8)


怎么了

问题在于,每个实例都会使用小数点的所有右侧
小数位
,而不管是否有非零位,小数点左侧只保留
(max\u digits-decimal\u places)

因此,对于
十进制字段(max_digits=2,decimal places=2)
,小数点左侧有零位数的空间,而“1.5”不适合。对于
DecimalField(最大位数=11,小数位数=8)
,小数点左边只有三位数的空间,而“1005.7”不适合

展开您的
max_位
,这些值将起作用