odoo Selection字段定义 Selection内容创建方式

Selection字段类型一般作为下拉列表显示,selection的选项内容基本是固定,但是针对一些特殊要求,根据权限组显示不同的selection内容的,也可以通过动态创建进行选项内容的设置。

1.固定的Selection内容

在这里插入图片描述

2.根据权限组显示不同的selection内容

selection字段的创建。selection=’_selection_filter’,表示引用_selection_filter函数进行不同权限组之间的内容显示
selection字段的创建
_selection_filter函数的定义。
在这里插入图片描述
res_filter = [
(‘none’, _(‘All products’)),
(‘category’, _(‘One product category’)),
(‘product’, _(‘One product only’)),
(‘partial’, _(‘Select products manually’))]
为selection内容初始化的列表
后面的判断语句,则是根据当前用户所在的权限组进行selection内容的添加
例如:
if self.user_has_groups('stock.group_tracking_owner'),用户存在stock模块下定义的group_tracking_owner组中,则在原有的列表中加入’owner’,'product_owner’这两个键值对内容,

res_filter += [('owner', _('One owner only')), ('product_owner', _('One product for a specific owner'))]

将用户放入不同的权限组则可以看到不同的selection下拉内容

3.动态创建selection内容

创建 filter 字段

filter = fields.Selection(
        string=u'等级', selection='_selection_filter')

创建_selection_filter函数
定义一个空的res_filter列表,在ir.config_parameter(系统参数)模型下进行搜索 符合issue_filter_的键值对,并将筛选到的数据加入列表并返回
在这里插入图片描述
打开字段放置的from视图,等级字段的selection内容还是空的。这时我们激活开发者模式,进入系统设置,创建我们需要的selection内容。具体操作如下图显示:
在这里插入图片描述
进入系统参数,创建键值对。issue_filter_ 是定义函数式进行模糊查询的字符串 one是selection内容中的键,同理可创建多个符合设定的selection内容。
在这里插入图片描述
创建好相应的键值对后,刷新界面,效果如下图:
在这里插入图片描述
到此odoo的Selection字段三种内容显示展现形式已经讲述完毕。在实际应用中,可根据具体客户需求进行自主开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值