首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >demo.xml中的奇异解析错误

demo.xml中的奇异解析错误
EN

Stack Overflow用户
提问于 2016-03-14 07:51:59
回答 2查看 958关注 0票数 2

我是遵循官方的Odoo-9的教程来构建模块。在数据文件部分之后,我将下面的代码放入openacademy/demo/demo.xml

代码语言:javascript
复制
<openerp>
    <data>
        <record model="openacademy.course" id="course0">
            <field name="name">Course 0</field>
            <field name="description">Course 0's description

Can have multiple lines
            </field>
        </record>
        <record model="openacademy.course" id="course1">
            <field name="name">Course 1</field>
            <!-- no description for this one -->
        </record>
        <record model="openacademy.course" id="course2">
            <field name="name">Course 2</field>
            <field name="description">Course 2's description</field>
        </record>
    </data>
</openerp>

但是,当我试图安装我的模块时,我会遇到以下错误:

代码语言:javascript
复制
...
File "D:\odoo-dev\odoo-9.0\openerp\tools\convert.py", line 630, in _tag_record
    model = self.pool[rec_model]
  File "D:\odoo-dev\odoo-9.0\openerp\modules\registry.py", line 84, in __getitem__
    return self.models[model_name]
ParseError: "openacademy.course" while parsing file:///D:/odoo-dev/odoo-addons/openacademy/demo/demo.xml:3, near
<record model="openacademy.course" id="course0">
            <field name="name">Course 0</field>
            <field name="description">Course 0's description

Can have multiple lines
            </field>
        </record>

xml从文件中完全删除了撇号。但我还是会犯同样的错误。

代码语言:javascript
复制
<openerp>
    <data>
        <record model="openacademy.course" id="course0">
            <field name="name">Course 0</field>
            <field name="description">Course 0 description Can have multiple lines
            </field>
        </record>
        <record model="openacademy.course" id="course1">
            <field name="name">Course 1</field>
            <field name="description">Description 2</field>
        </record>
        <record model="openacademy.course" id="course2">
            <field name="name">Course 2</field>
            <field name="description">Course 2 description</field>
        </record>
    </data>
</openerp>

错误:

代码语言:javascript
复制
...
ParseError: "openacademy.course" while parsing file:///D:/odoo-dev/odoo-addons/openacademy/demo/demo.xml:3, near
<record model="openacademy.course" id="course0">
            <field name="name">Course 0</field>
            <field name="description">Course 0 description Can have multiple lines
            </field>
        </record>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-14 09:48:27

我解决了。我使用了脚手架工具来生成我在正式文档中描述的模块的结构。脚手架工具生成以下结构:

代码语言:javascript
复制
odoo-addons/
|_ openacademy/
  |_controllers/
  |_demo/
  |_models/
  | |_ models.py
  |
  |_security/
  |_views/
  |_ __init__.py
  |_ __openerp__.py

__init__.py中,我放置了以下内容,如文档中所述:

代码语言:javascript
复制
from . import controllers
from . import models 

demo.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <record model="ir.actions.act_window" id="course_list_action">
            <field name="name">Courses</field>
            <field name="res_model">openacademy.course</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="help" type="html">
                <p class="oe_view_nocontent_create">Create the first course</p>
            </field>
        </record>
        <menuitem id="main_openacademy_menu" name="Open Academy"/>
        <menuitem id="openacademy_menu" name="Open Academy" parent="main_openacademy_menu"/>
        <menuitem id="courses_menu" name="Courses" parent="openacademy_menu"
                  action="course_list_action"/>
    </data>
</openerp>

如您所见,res_model字段被设置为openacademy.course,因为__init__.py文件中没有加载它,所以无法找到这个字段。将其更改为以下内容解决了我的问题:

代码语言:javascript
复制
from controllers import controllers
from models import models
票数 0
EN

Stack Overflow用户

发布于 2016-03-14 08:54:26

有几个字符不能在XML文本中使用。'撇号就是其中之一。

而是使用转义值,例如&apos;&#39;

您可以在等级库上找到更多关于这一点的信息。

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

https://stackoverflow.com/questions/35982090

复制
相关文章

相似问题

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