使用doc.xpath Odoo 10从Many2many中找到一个字段

时间:2017-09-16 07:47:59

标签: xpath openerp odoo-10

我正在尝试使用<a href="/mypage">click</a> 函数在字段上添加域。

我需要获取的字段是在Many2one上。

*。XML

field_view_get

尝试下面的代码:

    <notebook name="appartmentrooms">
          <page string="Rooms" name="rooms">
            <field name="appartmentrooms_id">
              <tree editable="top">
                <field name="name" required="1" domain="[('appartment_id','=',parent.name),('state','=','vacant')]" options='{"no_open": True, "no_create": True}'/>
                <field name="floor_id" readonly="1"/>
                <field name="partner_id" required="1"/>
                <field name="state" readonly="1"/>
                <field name="partner_ids" widget="many2many_tags"/>

              </tree>
            </field>
          </page>
    </notebook>

我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:-1)

终于找到了答案。

@api.model
def fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False):
    result = super(Appartments, self).fields_view_get(view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu)
    if view_type =='form':
        doc = etree.XML(result['fields']['appartmentrooms_id']['views']['tree']['arch'])
        node = doc.xpath("//field[@name='partner_ids']")[0]
        node.set('domain', "[('name','=','Customer1')]")
        result['fields']['appartmentrooms_id']['views']['tree']['arch'] = etree.tostring(doc)
    return result