gpt4 book ai didi

postgresql - 如何在OpenERP的CRM模块中添加只有整数的手机号码

转载 作者:行者123 更新时间:2023-11-29 14:07:19 25 4
gpt4 key购买 nike

在 CRM 模块中有一个手机号码字段。但它是一个 char 字段,我也可以添加字母字符。我希望它只使用数字。所以我将 mobile:fields.char('Mobile',size=20) 替换为 mobile:field.integer('Mobile'),但我最多可以添加9 位数字。还有其他方法可以只添加整数的手机号码吗?我们使用 PostgreSQL,所以有数字作为一种数据类型,所以我也尝试了 mobile:fields.numeric('Mobile',size=10) 它给我一个错误:

"datatype not used in module".

最佳答案

使用正则表达式验证

import re
from osv import osv,fields
class crm_lead_inherit(osv.osv):
_name = _inherit = 'crm.lead'
def create(self,cr,uid,vals,context=None):
if 'mobile' in vals and vals['mobile']:
if re.match("^[0-9]*$", vals['mobile']) != None:
pass
else:
raise osv.except_osv(_('Invalid Mobile No'),_('Please enter a valid Phone Number'))
return super(crm_lead_inherit, self).create(cr, uid,vals, context=context)
def write(self,cr,uid,ids,vals,context=None):
if 'mobile' in vals and vals['mobile']:
if re.match("^[0-9]*$", vals['mobile']) != None:
pass
else:
raise osv.except_osv(_('Invalid Mobile No'),_('Please enter a valid Phone Number'))
return super(crm_lead_inherit, self).write(cr, uid,ids,vals, context=context)
crm_lead_inherit()

关于postgresql - 如何在OpenERP的CRM模块中添加只有整数的手机号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21926410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com