Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
1 Antworten
9920 Ansichten

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?..

Avatar
Verwerfen
Beste Antwort

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.

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
1
Dez. 17
4532
0
Feb. 25
1436
0
Jan. 25
1206
1
Dez. 24
1580
0
Dez. 23
1985