Django上IntegerFields的默认范围是什么?

时间:2018-10-24 01:23:18

标签: django

这是一个简单的问题,但是似乎找不到in the documentation的任何内容。

例如,整数可以为负数吗?

2 个答案:

答案 0 :(得分:3)

没有。任何整数均有效。负面肯定很好。但是IntegerField默认情况下不受限制。 #16747 closed Bug (wontfix) IntegerField could validate too large numbers to work with PostgreSQL and MySQL be default 是解决此问题的请求,但遭到拒绝。

请记住,IntegerField不一定连接到特定的数据库字段。通常,在这种情况下,建议添加max_value和min_value以匹配您的数据库字段要求。

答案 1 :(得分:1)

如果您在谈论models.IntegerField,那么确实有一个范围,并且在documentation中已经提到。

  

一个整数。所有值从-2147483648到2147483647是安全的   Django支持的数据库。

     

它使用MinValueValidator和MaxValueValidator验证输入   根据默认数据库支持的值。

如果您在谈论forms.IntegerField,那么验证它的唯一方法是为此传递一个参数max_value and min_value

  

验证给定值是整数。使用MaxValueValidator   和MinValueValidator(如果提供了max_value和min_value)。