gpt4 book ai didi

openerp - 在 OpenERP 的 _sql_constraints 中使用 Unique 的正确格式是什么?

转载 作者:行者123 更新时间:2023-12-04 16:59:34 33 4
gpt4 key购买 nike

我在 OpenERP(Odoo) 中的 sql_containts 中尝试了 unique 使用花括号 {} 或方括号 [] 使用两种不同的方法。
两者都工作正常。
哪一个是正确的?

_sql_constraints = {
('email_uniq', 'unique(email)', ' Please enter Unique Email id.')
}

(或者)

_sql_constraints = [
('email_uniq', 'unique(email)', ' Please enter Unique Email id.')
]

P.S:但是如果我想使用的不仅仅是一个约束,它只接受方括号 [] 像这个例子。

_sql_constraints = [
('email_uniq', 'unique(email)', ' Please enter Unique Email id.'),
('contact_uniq', 'unique(contact)', ' Please enter Unique Mobile no.')
]

背后的原因是什么?

最佳答案

正确的是方括号语法。

  • 您可以在 _sql_constraints 上使用 grep看看它总是被使用的,
  • openerp/models.py 中的 ORM 代码中我们可以看到默认值是一个空列表:

  •     _sql_constraints = []
    #...
    cls._local_sql_constraints = cls.__dict__.get('_sql_constraints', [])
  • Odoo 8.0 documentation据说:

  • list of (name, sql_definition, message) triples defining SQL constraints to execute when generating the backing table.



    在 python2 中你可以得到一个 list使用语法 [] .

    语法 {}要么创建:
  • dictionary如果为空 {}或者如果有这样的键值:{'keyA': 'valueA', 'keyB': 'valueB'} ,
  • 从 python 2.7 开始 set如果像这样实例化:{'value1', 'valueB', 42}
  • 关于openerp - 在 OpenERP 的 _sql_constraints 中使用 Unique 的正确格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31513326/

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