Navigation

    Odoo 中文社区

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Popular
    • Users
    • Groups

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

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

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

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

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

    自定义模块安装失败。表无法创建还是视图有错?

    Odoo 新手求助
    2
    6
    6827
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • X
      xmbsec last edited by

      按照此例:<br / [检测到链接无效,已移除] br />编写的模块,在7.0安装时遇到错误:
      File "/usr/lib/pymodules/python2.7/openerp/addons/base/ir/ir_ui_view.py", line 126, in _check_render_view
          fvg = self.pool.get(view.model).fields_view_get(cr, uid, view_id=view.id, view_type=view.type, context=cont$
      AttributeError: 'NoneType' object has no attribute 'fields_view_get'
      2013-07-30 07:03:04,529 20870 ERROR bsec openerp.tools.convert: Parse error in /opt/openerp/addon/oecn_training$
      <record model="ir.ui.view" id="oecn_training_lesson_from_view">
                  <field name="name">&#35838;&#31243;&#34920;&#21333;</field>
                  <field name="type">form</field>
                  <field name="model">oecn.training.lesson</field>
                  <field name="arch" type="xml">
                      <form string="&#35838;&#31243;&#34920;&#21333;">
                          <field name="name"/>
                          <field name="date_start"/>
                          <field name="total_day"/>
                          <field name="price"/>
                          <field name="teacher"/>
                          <field name="students" colspan="4"/>
                      </form>
                  </field>
              </record>
      验证字段 arch 时发生错误:Invalid XML for View Architecture!
      Traceback (most recent call last):
        File "/usr/lib/pymodules/python2.7/openerp/netsvc.py", line 292, in dispatch_rpc
          result = ExportService.getService(service_name).dispatch(method, params)
        File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 626, in dispatch
          res = fn(db, uid, *params)
        File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 188, in execute_kw
          return self.execute(db, uid, obj, method, *args, **kw or {})
        File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 144, in wrapper
          raise except_osv(inst.name, inst.value)

      错误的核心有两处,
      一是
      AttributeError: 'NoneType' object has no attribute 'fields_view_get'
      此错误在launchpad上能找到相关的bug:<br / https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CEAQFjAC&url=https%3A%2F%2Fbugs.launchpad.net%2Fbugs%2F1077794&ei=Kmj3UY2eEsmXkwWuuoDIDg&usg=AFQjCNFzGWu7j6hd-wpbZMKINCIFL_2Bag br /> 明确说明此错误描述本身不清晰,应该是对象不存在导致xml结构验证错误,
      二是
      验证字段 arch 时发生错误:Invalid XML for View Architecture!
      此位置一再验证无法看到错误,且有一的bug描述,应该不是根本原因。

      数据库中确实没有我新增的oecn.training.lesson表存在。。。

      1 Reply Last reply Reply Quote 0
      • Joshua
        Joshua 管理员 last edited by

        [quote]数据库中确实没有我新增的oecn.training.lesson表存在。。。[/quote]
        其实你已经找到原因了。检查下你的__init__.py有没有引入你的oecn.training.lesson class

        1 Reply Last reply Reply Quote 0
        • X
          xmbsec last edited by

          Joshua版主请赐教:
          init.py中不是写 import python文件名么?应该写类名?

          1 Reply Last reply Reply Quote 0
          • X
            xmbsec last edited by

            搞两天居然还没搞定这个,信心受打击了呀~请大大帮忙则个:

            init.py
            # -- encoding: utf-8 --
            import lesson

            openerp.py
            {
                "name" : "OECN Training", #模块名
                "version" : "1.0", #模块版本
                "description" : "OCEN training Demo", #说明
                "author" : "xmbcit", #作者
                "website" : "http://www.xmbcit.net", #网站
                "depends" : [], #依赖
                "data" : ["lesson_view.xml"],#读入的文件
                "installable" : True, #可安装
                "category" : "Generic Modules/Others" #类型
            }


            lesson.py
            # -- coding: utf-8 --
            from openerp.osv import fields, osv

            class oecn_training_lesson(osv.osv):
                _name = 'oecn.training.lesson'
                _discription = 'OECN 培训课程'
                _columns = {
                'name':fields.char( u'课程名',size=64,select=True),
                'date_start':fields.date(u'开始日期',select=True),
                'total_day':fields.float(u'总天数',digits=(16,1)),
                'teacher':fields.many2one('res.users',u'授课老师'),
                'students':fields.many2many('res.partner',string=u'学生'),
                'price':fields.float(u'价格',digits=(16,2)),
                }
            oecn_training_lesson()


            lesson_view.xml
            <?xml version="1.0" encoding="utf-8"?>
            <openerp>
                <data>
                <!--定义表单视图-->
                    <record model="ir.ui.view" id="oecn_training_lesson_from_view">
                        <field name="name">课程表单</field>
                        <field name="type">form</field>
                        <field name="model">oecn.training.lesson</field>
                        <field name="arch" type="xml">
                            <form string="课程表单">
                                <field name="name"/>
                                <field name="date_start"/>
                                <field name="total_day"/>
                                <field name="price"/>
                                <field name="teacher"/>
                                <field name="students" colspan="4"/>
                            </form>
                        </field>
                    </record>
                    <!--定义列表视图-->
                    <record model="ir.ui.view" id="oecn_training_lesson_tree_view">
                        <field name="name">课程列表</field>
                        <field name="type">tree</field>
                        <field name="model">oecn.training.lesson</field>
                        <field name="arch" type="xml">
                            <tree string="课程列表">
                                <field name="name"/>
                                <field name="date_start"/>
                                <field name="teacher"/>
                                <field name="price" sum="合计"/>
                            </tree>
                        </field>
                    </record>
            <!--定义视图动作-->
                <record model="ir.actions.act_window"  id="action_oecn_training_lesson">
                    <field name="name">课程</field>
                    <field name="res_model">oecn.training.lesson</field>
                    <field name="view_type">form</field>
                    <field name="view_mode">form,tree</field>
                    <field name="view_id" ref="oecn_training_lesson_tree_view"/>
                </record>
            <!--定义菜单-->
                <menuitem id="oecn_menu" name="OECN"/>
                <menuitem id="oecn_training_menu" name="OECN Training" parent="oecn_menu"/>
                <menuitem id="oecn_training_lesson_menu" name="OECN Training Lesson" parent="oecn_training_menu" action="action_oecn_training_lesson"/> 
            </data>
            </openerp>

            1 Reply Last reply Reply Quote 0
            • X
              xmbsec last edited by

              无奈之下刚刚重启了server,刷新,再安装,居然成了~~~感谢感谢~~

              1 Reply Last reply Reply Quote 0
              • First post
                Last post