如何从odoo中的`account.invoice`model中删除必填字段`account_id`

Dhe*_*dia 1 open-source openerp odoo-9 odoo-10

我试过从文件中删除它account-> models-> account_invoice.py.但它显示错误.那么,还有其他方法可以从python文件中删除它.如何在odoo中自定义预定义模型?

<code> account.invoice </ code>模型

模型中的<code>必填字段</ code>

Hol*_*ehg 6

绝对同意Michele Zacceddu有正确的答案你应该覆盖模型,并更新该领域的属性,如requiredreadonly,特别是对于重要的领域,如account_id.

但是如果恰好有一个你绝对需要它的场景,你可以选择一起删除所有字段.您需要确保处理将xml视图和python方法中的所有引用删除到要删除的字段.

<record>
    ...

    <field name="arch" type="xml">
        <field name="account_id" position="replace"/>
    </field>
</record>
Run Code Online (Sandbox Code Playgroud)
class Invoice(models.Model):
    _inherit = 'account.invoice'

    def _method(self):
        # override methods that reference or use the fields we
        # are about to delete so that we don't break core

delattr(odoo.addons.account.models.account_invoice.AccountInvoice, 'account_id')
Run Code Online (Sandbox Code Playgroud)