【问题标题】:Element '<t t-if="...">' cannot be located in parent view元素 '<t t-if="...">' 不能位于父视图中
【发布时间】:2019-01-22 03:03:35
【问题描述】:

我正在尝试在 Odoo 11 中自定义报告。我正在修改 XML 文件,但出现此错误:

File "/home/omar/odoo/odoo11/odoo/models.py", line 3094, in write
    self._write(old_vals)
File "/home/omar/odoo/odoo11/odoo/models.py", line 3260, in _write
    self._validate_fields(vals)
File "/home/omar/odoo/odoo11/odoo/models.py", line 1041, in _validate_fields
    raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.tools.convert.ParseError: "Error while validating constraint

Element '<t t-if="caseacocher">' cannot be located in parent view

Error context:
View `report_quotation_inherit_demo`
[view_id: 714, xml_id: moduletest.report_quotation_inherit_demo, model: n/a, parent_id: 637]
None" while parsing None:14, near
<data inherit_id="sale.report_saleorder_document">

【问题讨论】:

  • 你能分享你的xml吗?

标签: odoo


【解决方案1】:

转到设置,选择用户界面,然后选择视图。在搜索字段中输入以下视图:report_saleorder_document。是 Qweb 类型(报告)。

因此,您正在尝试从此视图继承,而 t-if="caseacocher" 不能位于父视图 (report_saleorder_document) 的此处。 您缺少 xpath。

您想在父视图中的哪个位置找到它?您需要打开此视图并从此处找到可以在模块中使用的其他内容,而不是 t-if。它必须存在于父视图中! 我建议你使用 xpath 找到一个表达式,然后把这个条件。

例如,如果div 有一个名为page 的类,那么您可以使用类似:

<xpath expr="//div[@class='page']" position="inside">
    <t t-if="caseacocher">
        <!--etc what ever you want put here-->
    </t> 
</xpath>

这只是一个示例,但您可以在 xpath 中使用您的 t-if

祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多