【发布时间】:2014-06-25 10:48:12
【问题描述】:
有没有办法像在 char 类型中一样限制 OpenERP 中整数的位数? 我需要最多只能输入两位数的字段。
例如使用 char,您可以这样做:
from openerp.osv import fields
'char_field': fields.char(size=2),
那么如果你尝试输入两个以上的符号,它就不会写了。
但如果我创建整数字段:
'integer_field': fields.integer(),
它可以让我写任何我想要的数字。
【问题讨论】:
-
使用
len(str(123))之类的东西来检查整数的长度(虽然不知道 openerp 是什么)? -
是的,我知道我可以在输入整数后用一些东西检查它(在创建/写入方法中)。但我想完全阻止这种情况。与 char 类型一样,您不需要检查长度是否超过大小限制,因为它根本不允许您输入更多符号。
-
@senthilnatang 是的,这可能是最好的方法。但是有一个微妙的问题。这是第一次创建记录,它应该让输入用户想要的任何信息(这是因为客户的特定工作性质。该用户可以随时被调用,他应该立即离开工作空间。所以他应该能够保存该记录) .这就是为什么我正在寻找方法来防止事先输入错误,但无论如何都要创建记录。
-
那么你必须检查 create 和 write 方法来验证字段值
-
@senthilnatang 好吧,这实际上是一样的,因为它也会阻止创建/写入。按下确认按钮时进行验证。所以我想我可以在确认时实施这样的验证检查。唯一的问题是,确认方法已经满是各种检查了。