嗨,我正在设计我的模型,其中包含一个字段,它应该存储一个非常大的整数。为什么这么大?因为当前端将数据发送到服务器时,浮点数被转换为整数(例如: 2.44444444将被转换为244444444)。
我使用的数据库是MySql
通过阅读Django 模型字段文档,我看到bigintegerfield只支持高达9223372036854775807,即19位(64位)。恐怕这还不够,所以我认为我应该使用DecimalField,因为它像这样支持max_digits:
DecimalField(max_digits=40,decimal_places=0,default=0) #它的作用就像一个整数,因为decimal_place=0
但是我不知道max_digits的最大值是多少,因为它似乎没有在文档中提到它,而且我在googling之后仍然找不到关于它的任何信息。
如果有人知道max_digits在DecimalFields中的最大数量,这将是一个很大的帮助。
发布于 2020-01-08 03:42:05
如果您使用的是MySQL,则最大位数为65。小数点右边的数字数最多可达30:
https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html
对于PostgreSQL,小数点之前的数字高达131072位,小数点之后的数字高达16383位:
https://www.postgresql.org/docs/10/datatype-numeric.html
SQLite没有真正的十进制内部类型。
发布于 2022-11-14 10:57:27
max_digits必须相等,或高于decimal_places。
如果要有123456.654321,就必须定义max_digits=12, decimal_places=6.
max_digits包括decimal_places。
https://stackoverflow.com/questions/59639092
复制相似问题