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

Hi!

I try to overload a method in point_of_sale module in a custom module.

class pos_order(osv.osv):
_inherit = 'pos.order'

def onchange_partner_id(self, cr, uid, ids, part=False, context=None):
if not part:
return {value: {}}
res = super(pos_order, self).onchange_partner_id(cr, uid, ids, part=part, context=context)
        return res

 With this code, I have this error:

RuntimeError: maximum recursion depth exceeded while calling a Python object


Why?

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

OK. I'd declared my inherited class twice in my custom module. If I overload the onchange_partner_id method in first, it doesn't work. If I overload it in the second one, it's ok.

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

What you can try to do is : changing the name of your class from :

pos_order to something like my_pos_order

So that when you call your super method

res = super(pos_order, self).onchange_partner_id(cr, uid, ids, part=part, context=context)  

it's not ambigous

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

Hi Artemis!

Thanks for the answer. But I think @api.model usage is not available in 7.0 version, isn't it?

I tried and it seems no. :-(


Ảnh đại diện
Huỷ bỏ

Ok, so, you're using the version 7.0 of Odoo ... well I don't really know what you can do then ...

Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 12 22
12645
3
thg 2 16
5695
1
thg 3 15
11337
2
thg 5 25
1115
0
thg 10 24
1035