Openerp 字段不存在继承account.invoice时出错
使用Odoo 10(从GitHub commit,branchOpenerp 字段不存在继承account.invoice时出错,openerp,odoo-10,Openerp,Odoo 10,使用Odoo 10(从GitHub commit,branch10.0)安装我从Odoo 8移植过来的模块失败,因为在继承的帐户中找不到字段。invoice。问题是,此字段是在继承的模型中创建的,问题一直持续到能够创建一个来说明行为的点: invoice.py: 来自odoo导入字段、模型的 类别AccountInvoice(models.Model): _继承='account.invoice' a=fields.Char() invoice.xml: 账户、发票、表格 帐户、发票 形式
10.0
)安装我从Odoo 8移植过来的模块失败,因为在继承的帐户中找不到字段。invoice
。问题是,此字段是在继承的模型中创建的,问题一直持续到能够创建一个来说明行为的点:
invoice.py
:
来自odoo导入字段、模型的
类别AccountInvoice(models.Model):
_继承='account.invoice'
a=fields.Char()
invoice.xml
:
账户、发票、表格
帐户、发票
形式
\uuuu manifest\uuuuuu.py
是{'name':'Invoice bug','dependens':['account'],'data':['Invoice.xml'],'installable':True}
和\uuuu init\uuuuuuuuuuu.py
只是通常的导入发票
这样的代码失败了
ParseError: "Error while validating constraint
Field `a` does not exist
Error context:
View `account.invoice.form`
[view_id: 554, xml_id: invoice_bug.account_invoice_form_view, model: account.invoice, parent_id: 421]
None" while parsing /odoo/addons/invoice_bug/invoice.xml:4, near
[XML follows]
以下是更多的观察结果:
- 继承另一个模型和视图,例如
product.template
和视图product.product\u template\u only\u form\u view
(使用
)可以正常工作
- 使用
而不是字段position=“after”
不会影响错误
- 其他模块,如本机的
销售
模块,成功地扩展了帐户.发票
和相同的视图(帐户.发票表单
):
- A
- Odoo论坛成员似乎使用了Odoo 8或9(提供的示例会导致相同的错误,前提是您将现在删除的对
period\u id
的引用替换为date
)
- 无论安装的模块或存储的记录如何(在干净的DB+3其他安装上测试),错误都会触发
是我的代码错了,还是有解决办法?一切都很好,该字段应该添加到您的模型中。
对你的问题的一个解释是奥多没有达到你的代码
您的项目中只有一个init文件,还是正在使用多文件夹项目。请检查缩进。尝试更改标记
<openerp>..</openerp> to <odoo>..</odoo>
。到。。
来源字段在账户.发票和账户.发票.行模型中可用
如果您签入表单视图发票表单,则我们将获得2倍的原始字段
发票行ID行内树视图
其他信息页面
如果我们在之后写入字段位置,那么系统将在发票行ID行内树状视图中找到第一个字段,由于这个原因,我们将得到错误
但奥多给出了错误的错误信息
您需要遵循下面的xpath
这可能会对您有所帮助。这个示例是一个很小的示例,只包含我提到的文件。此外,自从添加debugprint()之后,Python代码就可以使用了
调用stdout上的输出文本。当您在开发人员模式下检查字段时,它也不在那里。您是否检查了数据库字段a是否添加到表account\u invoice?无效。错误与标记无关