1 <field name="user_ids"
2 mode="kanban"
3 nolabel="1"
4 options="{'no_create_edit': True}"
5 context="{
6 'many2many_res_id':id,//这里设置上下文参数
7 'form_view_ref':'ship_manage.res_company_user_view_form',
8 'kanban_view_ref':'ship_manage.res_company_user_view_kanban_del'}">
9 </field>
1 //这里触发python remove_group_id函数
2 <div class="oe_edit_only">
3 <a name="remove_group_id" type="object" role="button">
4 <i class="fa fa-times" role="img" aria-label="Delete" title="Delete"/>
5 </a>
6 </div>
7 <div class="oe_read_only">
8 <i class="fa fa-circle" role="img" aria-label="Ok" title="Ok"/>
9 </div>
1 # 你还可以这样在odoo视图中调用python方法
2 <button name="remove_group_id"
3 class="oe_button_box"
4 icon="fa-share"
5 string="Test Button"
6 states="0"
7 type="object"
8 confirm='Please confirm this action. This action cannot be undone!!!'
9 groups="group_admin,group_base"/>
10 # class:指定一个好看的样式
11 # icon:在按钮中设置一个图标
12 # string:按钮上的文字
13 # states:根据视图对应的model的state字段,当state字段值等于"0"的时候才显示该按钮
14 # type: 取值object就代表调用的是python方法(你可以设置action,直接跳转到另一个视图)
15 # confirm: 当你按下按钮的时候,会弹框让你再次确认一下
16 # groups:设置哪些用户组可以看得见按钮
1 #这里就可以查看你传递过来的参数了
2 def remove_group_id(self):
3 _logger = logging.getLogger(__name__)
4 _logger.info('Users_logger+++++++++++++++++++++========================:%s' % (self._context))
1 //这是运行后的结果
2 {'lang': 'en_US', 'tz': 'Europe/Brussels', 'uid': 1, 'allowed_company_ids': [1], 'form_view_ref': 'ship_manage.res_company_user_view_form', 'tree_view_ref': 'ship_manage.ship_manage_user_groups_view_tree', 'many2many_res_id': 1, 'kanban_view_ref': 'ship_manage.res_company_user_view_kanban_del'}