Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
9916 Visualizzazioni

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
Abbandona
Risposta migliore

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
Abbandona
Post correlati Risposte Visualizzazioni Attività
1
dic 17
4529
0
feb 25
1436
0
gen 25
1205
1
dic 24
1579
0
dic 23
1984