When I create a custom model in the web GUI, how can I mark a field as "unique", so that the database will never create a second row with the same field value?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Akuntansi
- Inventaris
- PoS
- Project
- MRP
Pertanyaan ini telah diberikan tanda
You can only do this when you create your field via Python.
See https://accounts.openerp.com/forum/Help-1/question/16386
_sql_constraints = [
('field_unique',
'unique(field)',
'Choose another value - it has to be unique!')
]
Note that if there are existing records for the model in the database, then any field values have to be unique, or this will fail and OpenERP will do nothing to enforce the constraint for new records.
Thanks, so I will have to write a Python module for my table. Maybe it would be a nice enhancement if there would be a "unique" flag in the GUI as well. I assume, that unique fields are needed often (serial numbers, order numbers, etc.).
Hi,
add a sql constraint to your model :
_sql_constraints = [
('uniq_name', 'unique(stuff_name)', "A stuff already exists with this name . Stuff's name must be unique!"),
]
Best regards
Thanks, too!
_sql_constraints = [ ('uniq_name', 'unique(your_field_name)', "You Entered data is already exists with this name. Please give data must be unique!"), ]
Menikmati diskusi? Jangan hanya membaca, ikuti!
Buat akun sekarang untuk menikmati fitur eksklufi dan agar terlibat dengan komunitas kami!
DaftarPost Terkait | Replies | Tampilan | Aktivitas | |
---|---|---|---|---|
|
1
Mar 15
|
6933 | ||
|
2
Mar 15
|
6244 | ||
Custom model - avoid deleting values when in use
Diselesaikan
|
|
2
Mar 22
|
2461 | |
|
0
Mar 24
|
3135 | ||
|
3
Jun 17
|
6948 |