【问题标题】:Why is Django DecimalField attribute `max_digits` non-optional?为什么 Django DecimalField 属性“max_digits”是非可选的?
【发布时间】:2015-09-06 18:16:52
【问题描述】:
CommandError: System check identified some issues:

ERRORS:
(fields.E132) DecimalFields must define a 'max_digits' attribute.

max_digits 是 Django 的模型字段 DecimalField 的必需属性是否有技术原因?

文档说它使用了 Python 的 [decimal][1] 模块,但 python 对象类型似乎根本不受十进制对象的绝对位数的任何影响。

也许有一个不透明的 ORM 原因?

FloatFields(与 DecimalFields 进行比较)不需要您预先确定位数,那么为什么要使用小数呢?

我知道这个小的附加属性不应该打扰我,但由于某种原因,自从我第一次使用此字段类型以来,它似乎对我来说是不必要的。

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    数据库(不是 ORM)需要它。 SQL decimal 列同时声明了精度(有效位数的总数)和小数位数(小数点右侧的位数)。

    请参阅此答案中引用的形式语法:https://stackoverflow.com/a/759606/2337736

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-16
      • 2017-07-04
      • 2016-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-23
      • 2011-11-28
      相关资源
      最近更新 更多