I have a fields.Char attribute “identification_id”, That field must have 11 characters. How can I add a _sql_constraints to check the length of that field and ensure it should be 11 ?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
2
Replies
3863
Views
_sql_constraints = [ ( 'identification_id_len_check', 'check (LENGTH(identification_id) = 11)', ('identification_id should be 11 symbols') ), ]SQL constraints are faster in comparison to api.constrains.
Make sure that none of your existing records have different size. Otherwise, constrain would not be created
Hi,
If it is not mandatory to for _sql_constraints, try to achieve the same using the constrains.
@api.constrains('identification_id')
def check_identification_id(self):
for rec in self:
if len(rec.identification_id) != 11:
raise ValidationError(_('Must be 11 Characters'))
See : How To Add Constrains For A Field in Odoo12
Thanks
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
0
Dec 24
|
20 | ||
|
1
Mar 24
|
834 | ||
@api.constrains
Solved
|
|
2
Dec 23
|
1134 | |
|
1
Jun 23
|
10727 | ||
|
0
Jan 23
|
1558 |