gpt4 book ai didi

odoo - 如何检查字段 'contains' 是否为 Odoo 中的值

转载 作者:行者123 更新时间:2023-12-01 13:32:29 26 4
gpt4 key购买 nike

我正在尝试为属于给定类别的观众的用户提供访问权限。

    <record id="rule_cost_centre_viewer" model="ir.rule">
<field name="name">Access for the records for a cost_centre's viewer</field>
<field name="model_id" ref="model_example_module"/>
<field name="domain_force">[('user_id', 'in', category.viewers.ids)]</field>
<field name="groups" eval="[(4,ref('group_example_module_user'))]"/>
</record>

尝试没有成功,得到:

ValueError: <type 'exceptions.NameError'>: "name 'category' is not defined" while u"[('user_id', 'in', category.viewers.ids)]"

为了清楚起见:

class Example(models.Model):
_name = 'example.module'
category = fields.Many2one('example.category', 'Category')

class Category(models.Model):
_name = 'example.category'
name = fields.Char('Category')
viewers = fields.Many2many('res.users', 'example_category_rel', 'user_id', 'viewer_id', 'Viewers')

这里有什么问题?

也许有检查的可能。

<field name="domain_force">[('category.viewers.ids', 'contains', user.id)]</field>

既然另一种方式行不通?..

最佳答案

应该是:

<field name="domain_force">[('category.viewers', '=', user.id)]</field>

也许这个解决方案有点笨拙,但它确实有效。回答了类似的问题here .

并尽量遵循 Odoo 的命名字段指南:category_idviewer_ids 等。

关于odoo - 如何检查字段 'contains' 是否为 Odoo 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45143568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com