Search code examples
pythonpython-2.7odooodoo-8default-value

How to set default values with methods in Odoo?


How to compute the value for default value in object fields in Odoo 8 models.py

We can't use the _default attribute anymore in Odoo 8.

field_name = fields.datatype(
    string=’value’, 
    default=compute_default_value
)

In the above field declaration, I want to call a method to assign default value for that field. For example:

name = fields.Char(
    string='Name', 
    default= _get_name()
)

Solution

  • You can use a lambda function like this:

    name = fields.Char(
        string='Name',
        default=lambda self: self._get_default_name(),
    )
    
    @api.model
    def _get_default_name(self):
        return "test"