Django PositiveIntegerField 中的 0 值?

新手上路,请多包涵

models.PositiveIntegerField 类型的字段可以包含 0 值吗?我正在做类似的事情:

 points = models.PositiveIntegerField()

谢谢,

我知道我应该自己尝试一下,但我这里没有 Django 环境。

原文由 Juanjo Conti 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 887
2 个回答

是的,它可以。它是否应该值得商榷——有一个长期存在的错误报告: http ://code.djangoproject.com/ticket/7609

原文由 Michael Greene 发布,翻译遵循 CC BY-SA 2.5 许可协议

对于那些希望排除 0 的人来说,很容易为此编写一个 验证器

 def validate_nonzero(value):
    if value == 0:
        raise ValidationError(
            _('Quantity %(value)s is not allowed'),
            params={'value': value},
        )

然后这样使用它

fill_qty = models.PositiveIntegerField(
  default=0,
  validators=[MaxValueValidator(1000000), validate_nonzero]
)

原文由 Shadi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题