我正在尝试将新列(Partner模型中的字段)添加到Quotation树视图中。这是调试模式下的原始树视图
<tree string="Quotation" fonts="bold:message_unread==True" colors="grey:state=='cancel';blue:state in ('waiting_date','manual');red:state in ('invoice_except','shipping_except')">
<field name="message_unread" invisible="1"/>
<field name="name" string="Quotation Number"/>
<field name="date_order"/>
<field name="partner_id"/>
<field name="user_id"/>
<field name="amount_total" sum="Total Tax Included"/>
<field name="state"/>
<field name="credit_limit"/>
</tree>
然后我尝试在树标记中添加<field name="credit_limit">
,但它会提供Error occurred while validating the field(s) arch: Invalid XML for View Architecture!
。
知道如何实现这个目标吗?
答案 0 :(得分:0)
由于您是直接从前端添加字段
您需要先创建字段,然后按照以下步骤操作。
设置&gt;技术&gt;数据库结构&gt;字段&gt;根据图像创建字段,然后尝试添加树视图
并将视图 credit_limit 中的字段名称更改为 x_creditlimit
这可以帮到你!
答案 1 :(得分:0)
我们需要为此构建新的自定义模块,或者您可以使用@Dexj answer。
尝试使用以下代码:
带的.py文件
from openerp.osv import osv
class Sales(osv.Model):
_inherit = 'sale.order'
_columns = {
'credit_limit': fields.float('Credit Limit')
}
查看将添加字段的文件
<record id="sale_order_credit_limit_form_view" model="ir.ui.view">
<field name="name">sale.order.credit.limit.form.view</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_quotation_tree"/>
<field name="arch" type="xml">
<field name="state" position="after">
<field name="credit_limit"/>
</field>
</field>
</record>
现在重新启动服务器并更新模块列表。您将获得新模块并进行安装。你会看到你的欲望输出。
修改强>
在这种情况下,我们可以使用相关字段。
例如
_columns = {
'credit_limit': fields.related('partner_id', 'credit_limit', type='float', string='Credit Limit')
}