Django字段,可以是IntegerField或DecimalField



在我的一个Django模型中,我有一个字段可以是基于用户的IntegerFieldDecimalField

当记录的值是一个整数时,表单应该只显示/编辑它,不带尾数字。当记录的值有小数时,所有的小数都应该在表单上显示/编辑。

我尝试将此字段定义为DecimalField并使用表单,但挑战是我使用django-crispy-forms来呈现我的表单,因此我不能在模板中使用floatformat过滤器。

结果,例如,作为整数的5在我的表单中显示为5.00000000

有办法解决这个问题吗?

如果您想要指定删除的0的数量,请尝试使用这个:

{{ your_number|floatformat:"-8" }}

或者您也可以使用normalize来删除所有后面的0:

{{ your_number.normalize }}

尝试使用round()函数。链接

当不指定一组十进制数字时,它只是删除后面的任何零。

在处理表单数据时尝试使用int()函数

相关内容

  • 没有找到相关文章

最新更新