Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
1 Balas
5194 Tampilan

I wish to link(relate) two many2one lists, for example my custom module ng.machine and account.invoice

the account one:

'machine_ids' : fields.one2many('ng.machine', 'invoice_ids', 'Gépek'),

the machine one:

'invoice_ids' : fields.one2many('account.invoice', 'machine_ids', 'Számlák'),

but this gives me an error.If i change the fields to many2one then until i try to save everything works. when i try to save gives me this error:

ProgrammingError: can't adapt type 'dict'

How can i make it so that the 2 one2many list can relate to each other? bassickly on the machine's page see all the invoice that it is mentioned, and on the invoice see all the machines it mentions.

Avatar
Buang
Jawaban Terbai

Sounds like you should use a many2many relation for this: each of your machines can be linked to X invoices, and each of your invoices can be linked to Y machines. Try using the following fields:

In your invoice class:

'machine_ids':
   fields.many2many(
    'ng.machine',
    'ng_machine_rel',
    'invoice_id',
    'machine_id',
    'Gépek'),

And in your machine class the same thing but in reverse:

'invoice_ids':
   fields.many2many(
    'account.invoice',
    'ng_machine_rel', # same relation still
    'machine_id', # ...but fields of the relation now go in different order
    'invoice_id',
    'Számlák'),

The documentation has some notes on m2m usage here: https://doc.openerp.com/trunk/server/03_module_dev_02/

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
3
Apr 20
10765
2
Mei 19
4149
0
Mei 16
4777
1
Mar 23
2249
0
Des 22
2892