加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读