Odoo 14 字段未添加到 res.company

Odoo 14 field does not get added to res.company

我只想向 res.company 模型添加两个新的二进制字段

为此,在我的模块中,我在 module/models 文件夹中添加了一个“company.py”文件

from odoo import models, fields

class Company(models.Model):
    _inherit = 'res.company'

    header = fields.Binary(string="Header")
    footer = fields.Binary(string="Footer")

并且我在 module/views 文件夹中添加了一个“company.xml”文件,如下所示

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <record id="view_company_form_inherited" model="ir.ui.view">
            <field name="name">res.company.form.view.inherited</field>
            <field name="model">res.company</field>
            <field name="inherit_id" ref="base.view_company_form"/>
            <field name="arch" type="xml">
            <xpath expr="//field[@name='vat']" position="before">
                <field name="header"/>
                <field name="footer"/>
            </xpath>  
            </field>
        </record>
    </data>

</odoo> 

manifest.py 文件中我在数据列表中添加了views/company.xml。 我在 init.py 文件中导入了公司文件,如下所示:

# -*- coding: utf-8 -*-

from . import [other models], company, [other models]

不幸的是,当我尝试在 odoo 中加载模块时出现以下错误:

Field "header" does not exist in model "res.company"

View name: res.company.form.view.inherited
Error context:
 view: ir.ui.view(1772,)
 xmlid: view_company_form_inherited
 view.model: res.company
 view.parent: ir.ui.view(107,)
 file: /PATH/TO/MODULE/views/company.xml

对我来说,这看起来修改后的视图工作正常,但 py 文件不知何故没有将两个字段 'header' 和 'footer' 添加到 'res.company' 模型。

我做错了什么?

更新 res 表时,如 res.company 您需要使用 -u your_module 选项启动服务器才能成功执行更新。