当前位置: 代码迷 >> python >> 无法在odoo视图中导入模型
  详细解决方案

无法在odoo视图中导入模型

热度:42   发布时间:2023-06-13 17:15:15.0

我已经在Linux上安装了odoo 10,并且工作正常,我正在遵循odoo网站“构建模块”中的官方教程

我创建了一个空模块

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

__init__.py中,只需尝试使用

import models

尝试替换此代码:

 <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()

示例“构建模块” init .py(来自 )没有问题,它在addons / openacademy / models下导入模型。

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