Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
1510 Lượt xem

I have a M2O relation to account.move on a custom model:

invoice_id = fields.Many2one('account.move', string="Related invoices", ondelete='cascade', store=True)


and a O2M relation from account.move to my custom model:

rel_invoices = fields.One2many('inv.relations', 'id', string='Related Invoices', store=True)


But when I try to add related invoices, they are not saved.


How can I fix this?


Thank you


Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi,

Can you try change field definition like below and check

rel_invoices = fields.One2many('inv.relations', 'invoice_id', string='Related Invoices', store=True)

Hope it helps

Ảnh đại diện
Huỷ bỏ
Tác giả

Thank you, but I get a KeyError "invoice_id"

Tác giả

I don't have the KeyError anymore, but the wrong invoice is saved. When I add INV...0012 to INV...003, INV...003 is saved.

Câu trả lời hay nhất

One2many fields aren't actually stored on the database table

Ảnh đại diện
Huỷ bỏ
Tác giả

Thank you, can u suggest a workaround?

you should set inverse_name as your many2one field in your custom module, don't add store ..
rel_invoices = fields.One2many(string='Related Invoices', comodel_name='inv.relations', inverse_name='invoice_id')

Tác giả

The wrong invoice is saved now, when I add INV...0012 to INV...003, INV...003 is saved.

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 7 25
2445
2
thg 7 25
7902
2
thg 7 25
4310
2
thg 7 25
4059
2
thg 6 25
2659