- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
Django 1.6、Python 2.7.5+、PostgreSQL 9.1、Linux。
我在模型中定义了几个小数字段,如下所示:
min_inclusive = models.DecimalField(_('minimum inclusive'), max_digits=19,
decimal_places=10,
help_text=_("Enter the minimum (inclusive) value for this concept."),
null=True, blank=True)
通过管理界面,当我输入 0
(零)并保存对象时,我得到 0E-10
作为值。
那么,为什么它不只存储并显示一个零呢?
文档没有指定 decimal_places
是强制的还是最大数。
显示此内容是因为需要 10 个位置吗?如果是这样,使用默认表单小部件 TextInput
,在我看来应该只是扩展到该大小或至少滚动到该大小。
在 PostgreSQL 中,它存储为 0.0000000000
最佳答案
我也遇到过这个问题,发现实际上一切正常。在 Python 中,如果您实际上定义了类似这样的 Decimal("0.0000000000")
,您将在控制台中看到:
>>> Decimal("0.0000000000")
Decimal('0E-10')
在我的情况下,我从 SQLite3 后端转换为 PostgreSQL 用于生产。在 SQLite 中一切正常,因为它没有明确显示(或存储)所有十进制数字。因此,如果您在 SQLite 数字字段中插入 0
然后选择它,您将得到 0
。
但是如果您在 PostgreSQL 数字字段中插入 0
,它将对小数点进行零填充并插入 0.0000000000
。因此,当 Python 将其放入 Decimal 中时,您将看到 Decimal("0E-10")
。
更新 - 已在 Django 1.8 中修复
关于python - DecimalField 将零转换为 0E-10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000061/
我有一个包含 amount (DecimalField(decimal_places=2)) 字段的查询集。我想过滤查询集以排除金额不是整数(整数)值的任何行。 示例有效值:1.00、125.00 示
我正在尝试使用下面的代码创建一个 DecimalField 子类 class PositiveMoneyField(DecimalField): def __init__(self, verb
因此,如果我知道将模型数据序列化为 JSON 有多么困难,我永远不会使用 Django 的 DecimalField 选项。 长话短说,如何从 DecimalField 获取浮点值? 我的模型看起来像
这是我的 model : class Tick(BaseModel): . . trade_coin_volume = models.DecimalField(
为什么我在这里得到错误的精度?我在 float 后问了 3 位小数。 >>> from decimal import Decimal >>> from decimal import getcontex
我想使用具有 6 位小数的 DecimalField 并在独立模型中对其进行测试: class MyItem(models.Model): myval = models.DecimalFiel
我有一个带有 DecimalField 的模型: points_player1 = models.DecimalField(max_digits=3, decimal_places=1, blank=
我有一个带有小数字段的 Django 模型: class User(models.Model): ... balance = models.DecimalField(max_digit
我有点困惑为什么我的网站偶尔将逗号呈现为小数分隔符。 我现在已经禁用了USE_L10N,这应该可以解决这个问题,但我仍然很好奇这个每个请求语言代码到 DecimalField 的魔法是在哪里发生的。我
看看这个例子 class MyForm(ForM): ...snip... quantity = DecimalField(u'Quantity', [NumberRange(1, 8
我有一个带有 DecimalField 的表单: price = forms.DecimalField(required=True, widget=forms.NumberInput(
我正在尝试在 Django 中验证 DecimalField 在 shell 中尝试: >> from django.forms import DecimalField >> from django.
有没有办法强制 django 不显示任何内容,而不是为留空的十进制字段显示“无”? 在我的模板中,我显示了特定字段的所有值的列表。每个值都超链接到一个页面,该页面显示根据该值过滤的查询结果。但是因为有
我有多个模型,其中多个 DecimalField 代表金钱,例如 100.34 欧元。 我的目标是在管理 ListView 中显示货币,如图所示。 http://i.imgur.com/XKEQFp9
我很好奇哪个更适合作为货币字段?我会做一些简单的操作,比如取差,新旧价格之间的百分比。我计划在零后保留两位数字(即 10.50),如果这些数字为零,大多数情况下,我将隐藏这些数字并将其显示为“10”
编辑!!! - 当我创建一个新对象时,将值转换为字符串似乎工作正常,但当我尝试编辑现有对象时,它不允许这样做。 所以我的 Decimal(3,2) 模型之一中有一个 decimal 字段 当我查询所有
Django 1.6、Python 2.7.5+、PostgreSQL 9.1、Linux。 我在模型中定义了几个小数字段,如下所示: min_inclusive = models.DecimalFi
我有一个使用 Django 和 Django Rest Framework 开发的 API。我有一个带有 DecimalField 的模型,它应该存储至少 1 的值。因此,我通过以下方式定义了该字段:
我在文档中找不到任何内容。对于该字段,我们需要提供两个参数:max_digits 和 decimal_places。 class Product(models.Model): price =
我有一个使用 Django 和 Django Rest Framework 开发的 API。我有一个带有 DecimalField 的模型,它应该存储至少 1 的值。因此,我通过以下方式定义了该字段:
我是一名优秀的程序员,十分优秀!