Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
1 Răspunde
5202 Vizualizări

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.

Imagine profil
Abandonează
Cel mai bun răspuns

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/

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
3
apr. 20
10779
2
mai 19
4156
0
mai 16
4788
1
mar. 23
2273
0
dec. 22
2908