首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenERP 7 _constraints

OpenERP 7 _constraints
EN

Stack Overflow用户
提问于 2013-04-17 05:54:05
回答 1查看 2.3K关注 0票数 0
代码语言:javascript
复制
class deduction_registration(osv.osv):
    _name = "bpl.deduction.registration"
    _description = "Deduction Registration"
    _columns = {
        'name': fields.char('Deduction Name', size=256, required=True),
    }
    _sql_constraints = [('deduction_registration_name_unique', 'unique(name)', 'Deduction name already exists')]

deduction_registration()

我为我的model.but创建了上面的sql约束,它仍然允许不区分大小写的重复记录。

、epf、一样,epf允许如何添加约束。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-17 06:00:28

代码语言:javascript
复制
class deduction_registration(osv.osv):

    def _check_unique_insesitive(self, cr, uid, ids, context=None):
        sr_ids = self.search(cr, 1 , [], context=context)
        lst = [x.name.lower() for x in self.browse(cr, uid, sr_ids, context=context) if x.name and x.id not in ids]
        for self_obj in self.browse(cr, uid, ids, context=context):
            if self_obj.name and self_obj.name.lower() in  lst:
                return False
            return True

    _name = "bpl.deduction.registration"
    _description = "Deduction Registration"
    _columns = {
        'name': fields.char('Deduction Name', size=256, required=True),
    }
    _sql_constraints = [('deduction_registration_name_unique', 'unique(name)', 'Deduction name already exists')]
    _constraints = [(_check_unique_insesitive, 'Deduction name already exists', ['name'])]

deduction_registration()

使用此代码,我已经完成了我的工作:-)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16052575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档