过滤记录比较来自 Odoo 中两个不同模型的字段

问题描述

我正在创建一个自定义模型用户可以在其中引入 odoo 中的文档。在我的文档模型中,我有一个字段 security_level 因此,每个文档都有一个访问级别。 另一方面,我在 res.users 中包含了另一个字段,并为每个用户授予了安全级别。 目标是当用户尝试访问文档时,他将只能查看文档安全级别等于或低于用户安全级别的文档。

我的文档模型:

class Documents(models.Model):
_name = 'custom_documents.document'
_description = 'Document'

document_id = fields.Integer()
name = fields.Char()
state = fields.Selection([('draft','Draft'),('approved','Approved'),('rejected','Rejected')],default="draft")
security_level = fields.Selection([('10','Employee'),('20','Manager'),('99','Administrator')],default="10")
partner_id = fields.Many2one('res.partner')
project_id = fields.Many2one('project.task',string="Project")
user_id = fields.Many2one('hr.employee',string='Employee')
document = fields.Binary()
category = fields.Many2one('custom_documents.category')
subcategory = fields.Many2one('custom_documents.subcategory')

在 res.users 中:

class ResUsers(models.Model):
_inherit = 'res.users'

security_docs = fields.Selection([('10',default="10")

但我不知道如何比较 Documents 和 res.users 中的 security_docs 和 security_level,以及如果当前用户的安全级别高于文档 1,如何授予他访问权限。 在此先感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)