2017-02-15 143 views
0

我已经在Linux上安装odoo 10 odoo视图模型,它工作正常 我从以下网站odoo“构建模块”无法导入

https://www.odoo.com/documentation/10.0/howtos/backend.html#build-an-odoo-module

我有官方教程创建了

odoo-bin scaffold openacademy addons 

一个空的模块,但是当我尝试导入模块中的XML文件openacademy.xml我收到以下错误

Error context: 
View `course.form` 

[view_id: 4867, xml_id: n/a, model: openacademy.course, parent_id: n/a] 
None" while parsing /opt/odoo/odoo- 

10.0/addons/openacademy/views/openacademy.xml:6, near 
<record model="ir.ui.view" id="course_form_view"> 
     <field name="name">course.form</field> 
     <field name="model">openacademy.course</field> 
     <field name="arch" type="xml"> 
      <form string="Course Form"> 
       <sheet> 
        <group> 
         <field name="name"/> 
         <field name="description"/> 
        </group> 
       </sheet> 
      </form> 
     </field> 
    </record> 

openacademy.xml

<?xml version="1.0" encoding="utf-8"?> 
    <odoo> 
    <data> 
     <record model="ir.ui.view" id="course_form_view"> 
      <field name="name">`course.form`</field> 
      <field name="model">`openacademy.course`</field> 
      <field name="arch" type="xml"> 
       <form string="Course Form"> 
        <sheet> 
         <group> 
          <field name="name"/> 
          <field name="description"/> 
         </group> 
        </sheet> 
       </form> 
      </field> 
     </record> 
    </data> 
</odoo> 

models.py

from odoo import models, fields, api 

class Course(models.Model): 
_name = 'openacademy.course' 

name = fields.Char(string="Title", required=True) 
description = fields.Text() 

__init__.py

from . import models 
+0

修复你的缩进,你为什么在你的xml代码中遍地都有反引号('')? – danidee

+0

@danidee我已经修复了缩进但仍然视图无法识别模型 –

回答

0

__init__.py只是尝试使用

import models 
+0

我有2 ** __ init __。py **文件并且都有'import models',还有其他建议吗? –

+0

这个模块的文件夹结构是什么? – sfx

+0

这是用'odoo-bin scaffold openacademy addons'命令创建的基本结构,3个文件夹(视图,模块,控制器) –

0

尝试替换此代码:

<field name="name">course.form</field> 
<field name="model">openacademy.course</field> 

不能使用 “ ''” 在XML中,这将导致错误。 然后在行这样

from odoo import models, fields, api 
class Course(models.Model): 
     _name = "openacademy.course" 

     name = fields.Char(string="Title", required=True) 
     description = fields.Text() 
0

没有错样本“构建模块” 初始化的.py(从https://www.odoo.com/documentation/10.0/howtos/backend.html)开始休息一些空间,它是在插件/ openacademy /模型导入模型。

在我的情况下,我必须重新启动odoo(杀死当前的odoo-bin并重新启动)。导入“openacademy.course”的错误消失了,安装成功了。