Odoo Help


How to get OpenERP to execute a function when it loads the view

Merlin TecSol Pvt. Ltd.
on 5/8/13, 11:21 AM 5,624 views

I want to execute a function that will get executed when when the view is loaded and populate a dropdown list box.

How can I do this. I have already defined the function in .py file.

Any ideas please.

but the dropdown manu is an openerp field?

Francesco OpenCode
on 5/8/13, 12:23 PM

Yes it is an OpenERP field.

Merlin TecSol Pvt. Ltd., Merlin TecSol Pvt. Ltd.
on 5/10/13, 2:40 AM

So, you want to create a selection with a function?

Francesco OpenCode
on 5/10/13, 5:38 AM

Cyril Gaspard (GEM)

--Cyril Gaspard (GEM)--

| 5 6 8
Paris, France
--Cyril Gaspard (GEM)--

Forum contributor since 2008

Cyril Gaspard (GEM)
On 5/11/13, 10:42 AM


create a field type selection with a function which will create the list you need in you dropbox list (here in this example, the list of result is Month and Year in list of unit of measure, change the code for your own need):

def _sel_func(self, cr, uid, context=None):
    obj = self.pool.get('product.uom')
    ids = obj.search(cr, uid, [])
    res = obj.read(cr, uid, ids, ['name', 'id'], context)
    res = [(r['id'], r['name'])  for r in res if r['name'] == _("Month") or r['name'] == _("Year")
    return res

_columns = {
    'field_name': fields.selection(_sel_func, string='Field name'),


wilson zauma
On 3/20/14, 6:03 PM

Yeah, thanks, this solutions works for me. i do that:

define in my class:

class stock_picking(osv.osv):
    _name = 'stock.picking' 
    _inherit = 'stock.picking'
    _columns = {
     'aux_almacen_orig': fields.selection(_buscar_shortname_alm,method="True", type="char", size=256, string="Almacen Origen" ),

then i define the function this way:

def _buscar_shortname_alm(self, cr, uid, context=None):
 obj = self.pool.get('stock.location')
        ids = obj.search(cr, uid, [])
        res = obj.read(cr, uid, ids, ['shortcut', 'id'], context)
        res = [(r['id'], r['shortcut']) for r in res if r['shortcut'] != False]
        return res

note: i define shorcut in my class stock location, this field only for to short the complete name in mi case, but you can change with another field that you have in your class:

class stock_location(osv.osv):
    _name = "stock.location"
    _inherit = "stock.location"
_columns = {
        'shortcut' :  fields.char('Nombre Corto',size=50),

and the XML file

<field name="aux_almacen_orig" />

and finally this is the result http://(w)(w)(w). orchidshouseperu.com/screenshots/Captura%20de%20pantalla%20de%202014-03-20%2015:52:20.png

About This Community

This platform 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.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 5/8/13, 11:21 AM
Seen: 5624 times
Last updated: 3/27/15, 6:36 PM