Many2many 字段 odoo 9

Many2many field odoo 9

如何在 odoo 9 中为 res.users 定义 Many2many 字段。

我需要 select 多个现场用户!

users_ids = fields.Many2many('res.users')

你可以在这里找到很多关于字段的信息https://www.odoo.com/documentation/8.0/reference/orm.html

在你的情况下,你需要这个。

class openerp.fields.Many2many(comodel_name=None, 关系=None, column1=None, column2=None, 字符串=None, **kwargs)

基地:openerp.fields._RelationalMulti

多对多字段;这样一个字段的值就是记录集。

参数

  • comodel_name -- 目标模型的名称(字符串)

属性 comodel_name 是强制性的,除非是相关字段或字段扩展。

参数

  • relation -- 存储关系的 table 的可选名称 数据库(字符串)
  • column1 -- 引用 "these" 条记录的列的可选名称 在 table 关系中(字符串)
  • column2 -- 引用 "those" 记录的列的可选名称 在 table 关系中(字符串)

属性relation、column1和column2是可选的。如果未给出,名称会自动从模型名称生成,前提是 model_name 和 comodel_name 不同!

参数
domain -- 在客户端设置候选值的可选域(域或字符串)

  • context -- 在客户端使用的可选上下文 处理该字段(字典)
  • limit -- 读取时使用的可选限制(整数)

试试这个:

users_ids = fields.Many2many('res.users', 'user_project_rel', 'user_id', 'project_id', string='Users')

<field name="users_ids" widget="many2many_tags" />

res.users - 型号

user_project_rel - 新 table

user_id - 新用户的 id table

project_id - 新项目或任何其他模块的 ID table