gpt4 book ai didi

python - Odoo v8 中的独特电子邮件字段

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:06 24 4
gpt4 key购买 nike

我想将来自潜在客户和联系人的电子邮件设置为唯一。

我尝试更改 /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', 'unique(user_email)', 'Please enter Unique Email'),
]

注意:a bug在 Odoo 8 的早期版本中,防止通过扩展对象来更改 sql 约束。现在已修复。确保您使用的是来自 git 的最新版本的 Odoo。如果这不可能,则可能需要使用 a work around .

关于python - Odoo v8 中的独特电子邮件字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32682194/

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