Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

修改BASE模块,当前数据库无法更新更改内容



  • 修改 addons\base\res\res_partner.py

    在类  res_partner 中加入数据库限制:
        _sql_constraints = [
            ('phone_company_uniq', 'unique (phone)', u'这个电话已经被人注册 !'),
            ('mobile_company_uniq', 'unique (mobile)', u'这个手机已经被人注册 !'),
            ('parent_id_company_uniq', 'unique (parent_id)', u'这个公司已经被人注册 !'),
        ]
    编辑完成后,当前使用的数据库无法应用,新创建的数据库可以应用。
    如何让当前数据库应用此限制?


  • 管理员

    _sql_constraints是对数据库的表约束的修改,要对当前数据库起作用要做两件事。


    1.重启服务器
    2. 更新base模块


    你可以用命令行:

    openerp-server -d DBNAME -u base
    




    但是不建议修改原有的模块,你可以创建新模块做继承修改。


  • 管理员

    首先感谢@校长的回答
    还有一点是,更新的时候你要确保你的数据里面没有违反你的[b]_sql_constraints[/b],如果存在已经违反的数据记录,你的_sql_constraints也不能添加成功的。


Log in to reply