Odoo 如何创建包含Id的Id列表的域

Odoo 如何创建包含Id的Id列表的域,odoo,odoo-10,Odoo,Odoo 10,我有一个可以分配给用户的模型。我使用它创建了一个域,并能够过滤一个创建规则以限制查看记录: 型号: 规则: 对于这个新字段,我不能使用与以前相同的规则,因为没有包含运算符。我在res.users模型中创建了反向字段,因此用户拥有其测试记录的列表,并创建了一个仅显示用户分配的记录的规则: ... Users(models.Model): _inherit = 'res.users' test_ids = fields.Many2many('test.model', 'test_us

我有一个可以分配给用户的模型。我使用它创建了一个域,并能够过滤一个创建规则以限制查看记录: 型号:

规则:

对于这个新字段,我不能使用与以前相同的规则,因为没有包含运算符。我在res.users模型中创建了反向字段,因此用户拥有其测试记录的列表,并创建了一个仅显示用户分配的记录的规则:

...
Users(models.Model):
    _inherit = 'res.users'
    test_ids = fields.Many2many('test.model', 'test_user_relation', 'user_id, 'test_id')
...

<record model="ir.rule" id="test_rule">
...
    <field name="domain_force">[('id', 'in', user.test_ids)]</field>
...
。。。
用户(models.Model):
_继承='res.users'
test\u id=fields.Many2many('test.model','test\u user\u relation','user\u id','test\u id')
...
...
[('id','in',user.test\u id)]
...
所有这些都是可行的,但最终用户可以拥有数千条测试记录,我担心这会减慢测试模型的工作流程。 我已经放弃的一个答案是,用户字段的数量与用户记录限制的数量相同,但我需要保持能够更改此限制数量,并且不能真正设置最大用户数量

有没有一种方法可以使规则只检查用户id是否在用户id列表中

谢谢,
Benjamín

哦,经过数小时的搜索,我发现可以在域中连接字段,如下所示:

...
<field name="force_domain">[(user_ids.id', '=', user.id)]</field>
...
。。。
[(user_id.id','=',user.id)]
...
这就是我问题的答案

...
user_ids = fields.Many2many('res.users', 'test_user_relation', 'test_id', 'user_id)
...
...
Users(models.Model):
    _inherit = 'res.users'
    test_ids = fields.Many2many('test.model', 'test_user_relation', 'user_id, 'test_id')
...

<record model="ir.rule" id="test_rule">
...
    <field name="domain_force">[('id', 'in', user.test_ids)]</field>
...
...
<field name="force_domain">[(user_ids.id', '=', user.id)]</field>
...