我想知道它们是否是一种在odoo中存储整数的方法,而无需创建新的对象。我想保留一个号码,以便只显示ID高于该号码的合作伙伴。但我不想在res.partner的每一条记录中添加一个字段。我怎么能有一个我可以访问我的xml而不是res.partner字段的数字?
答案 0 :(得分:1)
您可以使用模型ir.config_parameter
来处理此类情况。习惯了medhod set_param()和get_param()。
该参数将其值保存为字符串,因此对于我的示例,它将被解析为整数。 xml id为my_module.test_parameter
。
但在视图中使用它有点棘手。一种方法是带有上下文"信号"在模型的搜索视图中:
<filter name="my_filter" string="My Filter" context="{'search_by_parameter':1}" />
使用它可以覆盖模型的search()以在激活过滤器时使用参数:
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
context = dict(context or {})
if 'search_by_parameter' in context:
try:
value = int(self.pool.get('ir.config_parameter').get_param(cr, uid, 'my_module.test_parameter'))
except:
value = 0
args.append(('id', '>', value))
return super(my_model, self).search(cr, uid, args, offset, limit, order, context, count)