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

My custom model try to send data to account.invoice  and account invoice lines.But I got  Error

ValueError: dictionary update sequence element #0 has length 3; 2 is required

Here is my code,

result = super(create_invoice_wizard,self).default_get(fields)

res = []

invoice_line_ids = []

flag = True

for obj_ppo_id in obj_ppo_ids:

    invoice_data = self.env['sale.commission'].search([('id','=',obj_ppo_id.id)])

    if flag:

        res.append({

                    'partner_id':invoice_data.consignor.id,

                    'date_invoice':datetime.today(),

                    'invoice_line_ids': [{

                                            'product_id':invoice_data.product_id.id,

                                            'quantity':invoice_data.qty,

                                            'price_unit':invoice_data.total_sales}]

                    })

        flag = False


    else:

        res[0]['invoice_line_ids'].append({'product_id':invoice_data.product_id.id,

                                           'quantity':invoice_data.qty,

                                           'price_unit':invoice_data.total_sales})


result.update(res)

return result

 

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

you need to use special functions to pass data to related fields. it should be

'invoice_line_ids': [(0, 0, {your dict with data})]

this looks like only just one argument, but the reference (self) is the first argument. 

 

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
9
thg 6 23
13017
2
thg 1 22
3818
2
thg 12 21
7844
0
thg 6 21
1909
0
thg 2 21
2509