跳至內容
選單
此問題已被標幟
1 回覆
5969 瀏覽次數

Hi Dear Friends,

I would like to have my own web service methods newly or override the existing one. Can anybody suggest me how to do that?

Thanks

頭像
捨棄

can you explain more or give an example?

作者

Right now, the standard openerp web service is based on the objects ( partner, sales order etc.). The operations are read, write, update,delete. The default methods just bring the values as it is in case I use the read method on a partner object. But I would like to override the method and do some changes. So that , the users of my webservice get the right data and in the right format

最佳答案

Hi,

you can overwrite all methods according to your needs.just create a new module inherit of your object .

for example :

Method create

def create(self, cr, uid, values, context=None):                
        #your treatment       
        return super(res_partner, self).create(cr, uid, values, context)

Method copy :

 def copy(self, cr, uid, id, default=None, context=None):
            if not default:
                default = {}
            #your treatment
            default.update({           
                'name': ' custom name',
            })
            return super(res_partner, self).copy(cr, uid, id, default, context=context)

Thanks.

頭像
捨棄
作者

Yes. That will work. People will find your answer useful for straight forward use. But, If I have to pass over the json result in a particular format, Just overriding the method will not help for my strange requirement I think. Because OpenERP passes the data over in json format. That is not the desired format for me. I want it to be in a different data structure. I should do that only in the osv file. Correct me if I am wrong.

相關帖文 回覆 瀏覽次數 活動
0
5月 16
3534
2
12月 15
3482
3
11月 16
6809
2
7月 23
2772
1
1月 22
3902