Sunday 27 September 2015

How to override a global function? | Odoo

There are 2 ways to do this kind of programming.


1) For complete override the global function :


For example, there is one global method "fields_get" into orm file of osv model. In order to override this global method you need to follow below steps,


  •  Define one global function into you custom module. 
  • from osv import orm

    def my_fields_get(....)

        .......

    from osv import orm

    native_fields_get = orm.fields_get

    def my_fields_get(....)

        ....... #custome extension code.

        res = native_fields_get(....)

        ....... #custome extension code.
        return res

  • Write down the following line for the override the basic gloal function.
           orm.fields_get = my_fields_get
          Note : After doing this code, It will override the basic method of the orm file.

2) For made some extension into currently available global function.

For example there is one global method fields_get into orm file of osv model.

  • Define one global function into you custom module. 
  • Write down the following line for the override the basic gloal function.
    orm.fields_get = my_fields_get


No comments:

Post a Comment