Odoo Help


This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Calling a function without cr and uid

on 1/8/15, 2:44 PM 954 views

Hello, I have Odoo8.

I have a computed field which definition of method is: def _actualiza_monto(self) so my only parameter is self. In this method I need to call other methods of this class which requires cr, uid and an integer value (in my case is self.id). The method definition is:

def mymethod(self, cr, uid, id_neccesary, context=None): ...

When I try to call the method with syntax self.mymethod(self.env.cr, self.env.uid, self.id, self.env.context) I get the error "5 parameters is needed, 8 given". Why? How it works? Thanks!



| 5 4 7
Bengaluru, India

Techno-Functional Associate with 6+ years of experience in Odoo (formerly known as OpenERP).

On 1/9/15, 1:45 AM

You are coding in a method which has API styling... hence your self will be a environment browse variable..

Hence when you are trying to call the method of same object, you need not to pass all the argument,,

just write it like this: self.mymethod()


calling of method is depends on the convention of the object declaration

Say user object and partner object:

def sample_method(self):
    parter_obj = self.pool.get('res.partner')
    user_env = self.env['res.users']     

    partner_obj.calling_method(cr, uid, new_partner_id)  [Old style since object is declared as Pool]
    new_user_browse.calling_method()  [API style since object is declared as Environment]


I have written both styling in API style method, hope you got the difference



| 5 3 6
Jakarta, Indonesia
On 1/8/15, 11:51 PM

AFAIK, computed field would receive at least cr, uid, ids, field_name, and arg.  You may need to update the _actualiza_monto method to follow the signature.  Which is def _actualiza_monto(self, cr, uid, ids, field_name, arg, context=None).

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

2 follower(s)


Asked: 1/8/15, 2:44 PM
Seen: 954 times
Last updated: 3/16/15, 8:10 AM