我有一个表:Employees,它只包含字段'name'和'login'(它与表用户相关联)
class Employees(osv.osv):
_name = 'Employees.Employees'
_columns = {
'the_name':fields.char('Name:', size = 50),
'user_id': fields.many2one('res.users', 'User:', select = True),
}
Employees()
示例:
'John' - > 'John@gmail.com'
'玛丽莲' - > 'marilyn@outlook.com'
然后我有了表:Tasks,其中包含字段'name','description'和'employees_id'。创建任务时,它可以包含多个员工用于同一任务,这就是我选择“many2many”的原因,因为我可以选择多个员工。 所以,我尝试了以下内容:
class tasks(osv.osv):
_name = 'tasks.tasks'
_columns = {
'the_name':fields.char('Name', size = 50),
'description':fields.text('Description'),
'employees_id':fields.many2many('Employees.Employees', 'Employees', '???', 'user_id', 'All Employees')
}
tasks()
示例:
'携带沙子' - > “从沙滩上搬运整个沙子” - > “john@gmail.com; marilyn@outlook.com'
'播放' - > '玩legos' - > 'john@gmail.com'
但我不知道该怎么说“???”..谢谢。
答案 0 :(得分:3)
fields.many2many( 'other.object.name', '关系对象', 'actual.object.id', 'other.object.id', '字段名称')
实施例
'category_ids':
fields.many2many(
'res.partner.category',
'res_partner_category_rel',
'partner_id',
'category_id',
'Categories'),
'employees_id':fields.many2many('employee.employee', 'employee_user_rel', 'user_id', 'employee_id', 'All Employees')
}
希望这个帮助
答案 1 :(得分:0)
你必须添加第三个Field Like: -
'employees_id': fields.many2many('Employees.Employees',
'tasks_employees_rel',
'employee_id',
'task_id',
'All Employees')
对于员工......
它将创建另一个包含字段'employee_id', 'task_id',
只需循环
即可轻松检索这些值task_obj.employees_id: 它将返回与下划线相关联的员工列表