1

我做了一个自定义按钮调用视图:

@api.multi
def split_bot(self):
    view = self.env.ref('purchase_request.view_supply_conditions_tree')
    context = self.env.context
    return {
         'name':blabla',
         'type': 'ir.actions.act_window',
         'view_type': 'form',
         'view_mode': 'tree,form',
         'res_model': 'supply.conditions',
         'views': [(view.id, 'tree')],
         'view_id': view.id,
         'target': 'new',
         'domain': [('purchase_id', '=', self.id)],
         'context': context,
         'flags': {'form': {'action_buttons': True}}
    }

但现在我不需要这个按钮。我需要在默认的“编辑”按钮上打开树视图,单击相同的域:'domain': [('purchase_id', '=', self.id)] 如何在我的 xml 表单中使用相同的域?我试图把域作为:

出现错误:

name 'self' is not defined

了解更多信息:

purchase_order_status = fields.One2many('purchase.order', 'request_id', string='Order',copy=True)

purchase_id = fields.Many2one('purchase.request', 'Purchase request')

如何更改我的 xml 表单中的self.id以获得与单击按钮时相同的域?

4

1 回答 1

2

在 xml 中,您不能在 Web 客户端中使用 self 但您可以在同一视图中使用字段的值,因此如果您想在 many2one 字段中使用 id 的值:

<field name="id" invisible="1"/>
<field ... domain="[('field_name', '=', id)]" />

您不能在同一视图中使用不存在的字段或attrs上下文domain

于 2017-04-21T08:48:30.267 回答