跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. 修改BASE模块,当前数据库无法更新更改内容

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

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
4 帖子 3 发布者 2.4k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • A 离线
    A 离线
    aornor
    写于 最后由 编辑
    #1

    修改 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'这个公司已经被人注册 !'),
        ]
    编辑完成后,当前使用的数据库无法应用,新创建的数据库可以应用。
    如何让当前数据库应用此限制?

    1 条回复 最后回复
    0
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      写于 最后由 编辑
      #2

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


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


      你可以用命令行:

      openerp-server -d DBNAME -u base
      




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

      【上海先安科技】(tony AT openerp.cn)

      1 条回复 最后回复
      0
      • JoshuaJ 离线
        JoshuaJ 离线
        Joshua 管理员
        写于 最后由 编辑
        #3

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

        【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

        1 条回复 最后回复
        0

        • 登录

        • 没有帐号? 注册

        • 登录或注册以进行搜索。
        • 第一个帖子
          最后一个帖子
        0
        • 版块
        • 标签
        • 热门
        • 用户
        • 群组