0

私はテーブルを持っています:フィールド「名前」と「ログイン」のみを含む従業員(テーブルusersに関連付けられています)

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()

例:

「ジョン」 -> 「ジョン@gmail.com」

「マリリン」 -> 「marilyn@outlook.com」

それから、「name」、「description」、および「employees_id」フィールドを含む「Tasks」というテーブルがあります。タスクが作成されると、同じタスクに複数の従業員が含まれる可能性があります。そのため、複数の従業員を選択できるため、「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」

しかし、「???」に何を付ければいいのかわかりません..ありがとう。

4

2 に答える 2

4

fields.many2many('other.object.name', 'relation object', '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')
     }

この助けを願っています

于 2013-09-10T06:01:23.103 に答える
0

3 番目の 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: 下線付きの ta に関連付けられた従業員のリストを返します

于 2013-09-15T06:15:52.027 に答える