Ho una tabella in OpenERP/PostgreSQL con le seguenti colonne: name
e description
.OpenERP Unique Constraint
ho aggiunto il seguente convalida per nome univoco:
_sql_constraints = [('unique_name', 'unique(name)', 'A record with the same name already exists.')]
Funziona bene ma è case sensitive. Attualmente, accetta valori come "Topolino", "MICKEY" e "mickey":
Wrong Way:
--------------------------
| name | description |
--------------------------
| mickey | not a mouse |
--------------------------
| MICKEY | not a mouse |
--------------------------
| Mickey | not a mouse |
--------------------------
C'è un modo per rivedere il codice di convalida in modo che non permetterà agli utenti di aggiungere diversi valori come "Mickey "," MICKEY "e" mickey "? Come posso rendere insensibile la maiuscola della validazione della chiave univoca?
Right Way:
--------------------------------
| name | description |
--------------------------------
| mickey | not a mouse |
--------------------------------
| mickey mouse | is a mouse |
--------------------------------
| donald | is a duck |
--------------------------------
Ciao Ruchir! grazie per la pronta risposta Puoi darmi un esempio di come posso implementare la convalida desiderata usando i vincoli OpenERP? – codemickeycode
Elencare tutti i dati per campo specifico in un elenco. Converti in maiuscolo o in maiuscolo, quindi controlla il nuovo valore con l'operatore in e restituisci l'opposto del risultato. –
Ha funzionato. Grazie Ruchir! Ho appena modificato l'elenco per escludere l'ultima voce – codemickeycode