OpenERP many2many字段python

2024-04-27 18:24:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个表: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@gmail.com”

'Marilyn'->;'Marilyn@outlook.com'

然后我得到一个表:Tasks,它包含“name”、“description”和“employees\u 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”

“玩”->;“玩乐高”->;“john@gmail.com”

但我不知道该穿什么。。谢谢。


Tags: columnsthenamegtcomidfieldssize
2条回答

fields.many2many('other.object.name', '关系对象', '实际.object.id', '其他.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')
     }

希望能帮上忙

您必须添加第三个字段,如:

'employees_id': fields.many2many('Employees.Employees',
                                 'tasks_employees_rel',
                                 'employee_id',
                                 'task_id',
                                 'All Employees')

对于员工。。。 它将创建另一个包含字段'employee_id', 'task_id',的表

你可以很容易地通过循环来检索这些值

任务目标员工id: 它将返回与下划线ta相关的员工列表

相关问题 更多 >