python – Odoo v8中的唯一电子邮件字段
发布时间:2020-12-20 11:45:25 所属栏目:Python 来源:网络整理
导读:我想设置来自潜在客户和联系人的电子邮件是唯一的. 我试图改变/usr/lib/python2.7/dist-packages/openerp/models.py文件,第342行: _sql_constraints = [] 在: _sql_constraints = [ ('user_email','unique(user_email)','Please enter Unique Email'),] 但
我想设置来自潜在客户和联系人的电子邮件是唯一的.
我试图改变/usr/lib/python2.7/dist-packages/openerp/models.py文件,第342行: _sql_constraints = [] 在: _sql_constraints = [ ('user_email','unique(user_email)','Please enter Unique Email'),] 但是没有用. 什么是正确的方法,请给我一个完整的例子,因为我是Odoo的初学者,谢谢. 解决方法
您更改了BaseModel上的sql约束.系统中的所有模型都基于此模型.因此,此更改的效果是将约束添加到Odoo中的每个模型,其中大多数甚至没有user_email字段.结果可能是绝对灾难性的.您的Odoo尚未失败的唯一原因是您没有使用升级选项,因此目前更改尚未传播到数据库.
首先立即恢复更改.其次,你不应该直接改变Odoo源代码.首先,如果您开始修改Odoo的源代码,您将永远无法将其更新为更新的版本(即使使用安全更新),因为这会还原您的更改. 你应该做的是create a new module然后用它来扩展你想要修改的模块: class Lead(models.Model): _inherit = 'crm.lead' _sql_constraints = [ ('user_email',] 注意:在Odoo 8的早期版本中有a bug阻止通过扩展对象来改变sql约束.它现在已修复.确保您使用的是来自git的最新版本的Odoo.如果无法做到这一点,可能需要使用a work around. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |