zoukankan      html  css  js  c++  java
  • (fields.E130) DecimalFields must define a 'decimal_places' attribute.

    DecimalField类型:
    固定精度的十进制数,一般用来存金额相关的数据。额外的参数包括DecimalField.max_digits(整个数字的长度)和DecimalField.decimal_places(小数点后面的有效位数)

    模型定义时, DecimalField类型字段如下定义:
    aaf_1kg_all = models.DecimalField(blank=True, null=True)
    报错:
    (fields.E130) DecimalFields must define a 'decimal_places' attribute.
    (fields.E132) DecimalFields must define a 'max_digits' attribute.

    即: DecimalFields字段的“decimal_places”() 和 “max_digits” 属性必须被定义,不能忽略。


    那么修改一下:
    aaf_1kg_all = models.DecimalField(blank=True, null=True, max_digits=10, decimal_places=10)
    报错:
    Traceback (most recent call last):
    [...]
    File ".../django/db/backends/utils.py", line 200, in format_number
      value = value.quantize(decimal.Decimal(".1") ** decimal_places, context=context)
    decimal.InvalidOperation: [<class 'decimal.InvalidOperation'>]

    这里注意:
    参数max_digits的值必须大于decimal_places的值。
    0.10000 有效位是5位,但是1.00000的有效位是6位。
    因此,如果max_digits=5, decimal_places=5, 那么,任何大于或者等于1的值出现都将报错。

    正面举例:
    max_digits=2, decimal_places=2
    那么该字段可表示数值范围为0.00 - 99.99
     


  • 相关阅读:
    groovy Date 格式化
    MySql Delete不走索引问题
    java解析文件
    H5自动准备杂记
    ubuntu 安装php ,apache 问题总结
    git 添加已被忽略的文件夹
    jenkins + nodejs + git 自动化部署前端
    分享到微信填坑之路
    jenkins 自动化部署php
    natapp 穿透访问 vue项目 Invalid Host header
  • 原文地址:https://www.cnblogs.com/haoshine/p/5822171.html
Copyright © 2011-2022 走看看