odoo框架怎么只显示该所属于该用户的数据
时间: 2024-03-20 16:40:51 浏览: 181
在odoo框架中,可以通过在model中定义一个domain来实现只显示该所属于该用户的数据。具体实现步骤如下:
1. 在model中定义一个字段来表示该数据所属的用户,例如:
```python
user_id = fields.Many2one('res.users', string='User', default=lambda self: self.env.user)
```
2. 在model中定义一个domain来筛选该用户所属的数据,例如:
```python
@api.model
def search(self, args, offset=0, limit=None, order=None, count=False):
domain = []
if self.env.user:
domain.append(('user_id', '=', self.env.user.id))
args = args + domain
return super(MyModel, self).search(args, offset=offset, limit=limit, order=order, count=count)
```
这样,当用户访问该model时,只会显示该用户所属的数据,而不会显示其他用户的数据。
相关问题
odoo框架中怎么在tree视图当中展示的数据后面加上按钮
在Odoo框架中,在tree视图中展示数据后面加上按钮可以通过在相应的模型中定义一个button类型的字段来实现。下面是一个示例代码:
```python
from odoo import models, fields, api
class MyModel(models.Model):
_name = 'my.model'
name = fields.Char(string='Name')
description = fields.Text(string='Description')
button_field = fields.Button(string='Button', compute='_compute_button')
@api.multi
def _compute_button(self):
for record in self:
record.button_field = {
'name': 'Button',
'type': 'ir.actions.act_window',
'res_model': 'my.model',
'view_mode': 'form',
'view_type': 'form',
'target': 'current',
'res_id': record.id,
}
```
在上面的代码中,我们在模型`MyModel`中定义了一个名为`button_field`的button类型的字段,并在该字段的计算方法`_compute_button`中设置了一个字典,该字典定义了按钮的名称、行为以及目标记录等信息。在tree视图中,我们可以将该字段添加到视图中,这样每个记录的末尾都会显示一个名为`Button`的按钮。当用户点击该按钮时,会打开一个新的表单视图,显示当前记录的详细信息。
阅读全文