Odoo Help


How to set default value for a many2one field in Odoo 9.0c?

on 11/16/16, 9:20 PM 1,453 views

Hello everyone, I have customized a module that include a many2one field. Now, I would like to set the default value for that field with the codition is: [[u'bom_ids', u'!=', False]]. i have tried below code but it did not work probebly

width_id = field.Many2one('sale.order.line.width', default ='_get_width_default')
def _get_width_default(self, cr, uid, context=None):
     res = self.pool.get('product.template').search(cr, uid, [(u'bom_ids', u'!=', False)], context=context)
     return res and res[0] or False
default = {
'width_id' : _get_width_default,
Could you guy please help me to point what is the problem and how to sovle the problem and finnally get my purpose. Thank for watching
Axel Mendoza
On 11/18/16, 3:39 AM

You are using the old api way to specify default values for fields. Put it like this:

_defaults = {
'width_id' : _get_width_default,

Ahmed M.Elmubarak
On 11/17/16, 12:19 AM


In your _get_width function your querying the product.template model which doesn't match with your field's comodel 'sale.order.line.width'. Also you'r using field not fields:


you can try the below code:

def _get_width_default(self):
     res = self.env['sale.order.line.width'].search([('bom_ids', '!=', [])], limit=1)
     return res and res.id or False

width_id = fields.Many2one('sale.order.line.width', default=_get_width_default)

Hope this could helps

thanks for replying, i will try your code first and send the feedback when the result come out.

on 11/17/16, 8:03 AM

Hellp, Elmubarrak, i dont know why the system seem does not change any thing, the result is actually the same when i set default=1, not only for your code but also any other codes that have been customized:( do you have any Idea?

on 11/17/16, 8:12 AM

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

1 follower(s)


Asked: 11/16/16, 9:20 PM
Seen: 1453 times
Last updated: 11/18/16, 3:39 AM