跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. odoo卸载模块完系统错误Internal Server Error

odoo卸载模块完系统错误Internal Server Error

已定时 已固定 已锁定 已移动 Odoo 新手求助
11 帖子 3 发布者 10.0k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • B 离线
    B 离线
    BraidTim
    写于 最后由 编辑
    #1

    是什么表没清除干净吗?每次想把模块卸载了再装一次就直接出错,系统都进不去。看log好像是什么没找到。之前都是卸了重装,但是感觉不是解决办法,日志如下
    2017-03-28 17:05:23,967 6328 INFO BraidTim odoo.modules.loading: loading 1 modules...
    2017-03-28 17:05:23,982 6328 INFO BraidTim odoo.modules.loading: 1 modules loaded in 0.01s, 0 queries
    2017-03-28 17:05:24,012 6328 INFO BraidTim odoo.modules.loading: loading 43 modules...
    2017-03-28 17:05:24,063 6328 INFO BraidTim odoo.modules.loading: 43 modules loaded in 0.05s, 0 queries
    2017-03-28 17:05:24,174 6328 INFO BraidTim odoo.modules.loading: Modules loaded.
    2017-03-28 17:05:24,177 6328 ERROR BraidTim odoo.modules.registry: Failed to load registry
    Traceback (most recent call last):
    File "C:\work\Odoo 10.0\server\odoo\modules\registry.py", line 78, in new
    File "C:\work\Odoo 10.0\server\odoo\modules\loading.py", line 411, in load_modules
    File "C:\work\Odoo 10.0\server\odoo\addons\base_action_rule\models\base_action_rule.py", line 315, in _register_hook
    File "C:\work\Odoo 10.0\server\odoo\api.py", line 752, in getitem
    File "C:\work\Odoo 10.0\server\odoo\modules\registry.py", line 170, in getitem
    KeyError: u'meeuerp.category'
    2017-03-28 17:05:24,187 6328 INFO BraidTim werkzeug: 127.0.0.1 - - [28/Mar/2017 17:05:24] "GET /web HTTP/1.1" 500 -
    2017-03-28 17:05:24,191 6328 ERROR BraidTim werkzeug: Error on request:
    Traceback (most recent call last):
    File "werkzeug\serving.py", line 177, in run_wsgi

    File "werkzeug\serving.py", line 165, in execute

    File "C:\work\Odoo 10.0\server\odoo\service\server.py", line 246, in app
    return self.app(e, s)
    File "C:\work\Odoo 10.0\server\odoo\service\wsgi_server.py", line 184, in application
    return application_unproxied(environ, start_response)
    File "C:\work\Odoo 10.0\server\odoo\service\wsgi_server.py", line 170, in application_unproxied
    result = handler(environ, start_response)
    File "C:\work\Odoo 10.0\server\odoo\http.py", line 1306, in call
    return self.dispatch(environ, start_response)
    File "C:\work\Odoo 10.0\server\odoo\http.py", line 1280, in call
    return self.app(environ, start_wrapped)
    File "werkzeug\wsgi.py", line 579, in call

    File "C:\work\Odoo 10.0\server\odoo\http.py", line 1454, in dispatch
    odoo.registry(db).check_signaling()
    File "C:\work\Odoo 10.0\server\odoo_init_.py", line 55, in registry
    return modules.registry.Registry(database_name)
    File "C:\work\Odoo 10.0\server\odoo\modules\registry.py", line 55, in new
    return cls.new(db_name)
    File "C:\work\Odoo 10.0\server\odoo\modules\registry.py", line 78, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
    File "C:\work\Odoo 10.0\server\odoo\modules\loading.py", line 411, in load_modules
    model._register_hook()
    File "C:\work\Odoo 10.0\server\odoo\addons\base_action_rule\models\base_action_rule.py", line 315, in _register_hook
    Model = self.env[action_rule.model]
    File "C:\work\Odoo 10.0\server\odoo\api.py", line 752, in getitem
    return self.registry[model_name]._browse((), self)
    File "C:\work\Odoo 10.0\server\odoo\modules\registry.py", line 170, in getitem
    return self.models[model_name]
    KeyError: u'meeuerp.category'

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

      你卸载的模块操作是怎样呢?一般直接点击odoo里面的模块卸载是没有问题的。

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

      B 1 条回复 最后回复
      0
      • 萧 离线
        萧 离线
        萧云飞
        写于 最后由 编辑
        #3

        我猜测,可能是没有建立正确的依赖关系,然后卸载了模块依赖链前面的模块,后面的模块再去调用的时候,就报错了。看你这个报错信息,你可以检查下meeuerp.category这个model

        B 1 条回复 最后回复
        0
        • B 离线
          B 离线
          BraidTim
          在 回复了 Joshua 最后由 编辑
          #4

          @Joshua
          就是在app那儿点的卸载
          就算关系不对,卸载的时候应该处理掉吧?卸载模块导致服务器错误似乎逻辑不太对?最多也是进入模块报错才对吧

          1 条回复 最后回复
          0
          • B 离线
            B 离线
            BraidTim
            在 回复了 萧云飞 最后由 编辑
            #5

            @萧云飞
            是有mang2one还是什么依赖关系,但也只是数据依赖,没有模块依赖关系
            我记得有一次报错,我直接去数据库删掉了他的表,然后就好了
            这一次删掉也不行,现在直接换了个数据库
            从安全性来说这样不太好吧,模块导致服务器直接出错什么的

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

              @BraidTIm 在 odoo卸载模块完系统错误Internal Server Error 中说:

              meeuerp.category

              感觉像是@萧云飞 说的依赖关系出了问题。

              @BraidTIm 模块是对系统的表结构都会影响的,如果模块是设计不好有可能会造成系统进不了,模块要谨慎安装,特别是生产系统。

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

              1 条回复 最后回复
              0
              • 萧 离线
                萧 离线
                萧云飞
                在 回复了 BraidTim 最后由 编辑
                #7

                @BraidTIm odoo的数据库表和列都是更具模块中对应的py文件自动生成的。many2one是要建立外键的,试想下,你的这个表的外键对应的另一个表被强制删除了,你觉得,那这个外键还存在不呢?所以你应该建立模块依赖关系。odoo会更具模块依赖关系删除整个依赖关系链上的模块。这个安全性,不是一个平台本身能全部解决的,而是你的程序设计。再安全的平台,你要开发有漏洞的代码,它也没有办法。我能想到的就是这些,希望对你有帮助

                B 1 条回复 最后回复
                0
                • B 离线
                  B 离线
                  BraidTim
                  在 回复了 萧云飞 最后由 编辑
                  #8

                  @萧云飞
                  首先感谢大佬们的耐心解答!
                  我没有设置模块之间的继承啊。。。我就是两个表数据之间有外键而已。有外键的话卸载模块的时候,odoo会自动按照顺序删除吗?
                  最后的错误KeyError: u'meeuerp.category'好像没有详细描述信息,是丢了个表吗?

                  萧 1 条回复 最后回复
                  0
                  • 萧 离线
                    萧 离线
                    萧云飞
                    在 回复了 BraidTim 最后由 编辑
                    #9

                    @BraidTIm 可能就是你卸载的模块中,有这个meeuerp.category这个表,而你的数据库中,还有对这个表的外键关联的表,odoo会认为这个数据库不能用,所以服务器就报错了。我想是这样的,你仔细排查下。你用了外键,把依赖建起,odoo会按照依赖关系删除。比如你有三个模块,A/B/C,A是基础模块,B依赖A, C依赖B,你卸载B,A不会受影响,而C它就会卸载。如果你这个C表中有B的外键,而你没有建立C依赖B的关系,你卸载了B,它是不会卸载C,而odoo在自检到C模块的代码时,就会报错。这样应该好理解点。

                    B 1 条回复 最后回复
                    0
                    • B 离线
                      B 离线
                      BraidTim
                      在 回复了 萧云飞 最后由 编辑
                      #10

                      @萧云飞
                      如果我有ABC,B依赖A,C依赖B
                      那我卸载时候odoo会从C开始卸载?还是说根据创建的时间?或者代码里面的先后顺序?

                      萧 1 条回复 最后回复
                      0
                      • 萧 离线
                        萧 离线
                        萧云飞
                        在 回复了 BraidTim 最后由 编辑
                        #11

                        @BraidTIm 从C开始卸载

                        1 条回复 最后回复
                        0

                        • 登录

                        • 没有帐号? 注册

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