Odoo Help


Attribute condition for field to limit possible values?

Andrius Laukavičius
on 6/5/14, 8:17 AM 3,061 views

Is there some good simple way to limit what values can be entered in specific field?

For example I want that in my field you could only enter positive values. I could do that by overriding that models create and write methods and checking if that specific field value is positive. If not I would throw exception. But maybe there is some simpler better way like it is with required attribute or similar?

For exmaple is there some similar way like:

'my_field': fieds.integer('My field' limit=[('val', '>=', 0)])


P.S. How can I change my text format look like code format in this new odoo forum?..


René Schuster

--René Schuster--
| 5 5 8
Weinheim, Germany
--René Schuster--

Challenge Everything!

René Schuster
On 6/5/14, 8:32 AM

Two ways I can think of:

  • 1. Use custom constraints:

def _check_my_field(self, cr, uid, ids, context=None):
    for obj in self.browse(cr, uid, ids, context=context):
        if obj.my_field < 0:
        return False;
    return True;

_constraints = [
    (_check_my_field, 'ErrorMessage', ['my_field'])


  • 2. Use on_change method:

def onchange_my_field(self, cr, uid, ids, field_value):
    result = {};
    if field_value < 0:
        result = {'value': {'my_field': 0}}
    return result;

<field name="my_field" on_change="onchange_my_field(my_field)"/>


Best regards.

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: 6/5/14, 8:17 AM
Seen: 3061 times
Last updated: 3/16/15, 8:10 AM