Odoo 在 xml 文件上设置特定域
Odoo set specific domain on xml file
我制作了一个调用视图的自定义按钮:
@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}}
}
但现在我不需要这个按钮了。我需要在默认情况下打开树视图 "Edit" 单击相同域的按钮:'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 以获得与单击按钮时相同的域?
在 xml 中你不能在网络客户端中使用 self 但你可以在同一视图中使用字段的值所以如果你想在 many2one 字段中使用 id 的值:
<field name="id" invisible="1"/>
<field ... domain="[('field_name', '=', id)]" />
您不能使用 attrs
、domain
中的字段或同一视图中不存在的上下文
我制作了一个调用视图的自定义按钮:
@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}}
}
但现在我不需要这个按钮了。我需要在默认情况下打开树视图 "Edit" 单击相同域的按钮:'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 以获得与单击按钮时相同的域?
在 xml 中你不能在网络客户端中使用 self 但你可以在同一视图中使用字段的值所以如果你想在 many2one 字段中使用 id 的值:
<field name="id" invisible="1"/>
<field ... domain="[('field_name', '=', id)]" />
您不能使用 attrs
、domain
中的字段或同一视图中不存在的上下文