Ich habe eine Tabelle in OpenERP/PostgreSQL mit den folgenden Spalten: name
und description
.OpenERP Unique Constraint
Ich habe die folgende Validierung für eindeutige Namen:
_sql_constraints = [('unique_name', 'unique(name)', 'A record with the same name already exists.')]
Es funktioniert gut, aber es ist Groß- und Kleinschreibung. Derzeit nimmt sie Werte wie „Mickey“, „MICKEY“ und „Mickey“:
Wrong Way:
--------------------------
| name | description |
--------------------------
| mickey | not a mouse |
--------------------------
| MICKEY | not a mouse |
--------------------------
| Mickey | not a mouse |
--------------------------
Gibt es eine Möglichkeit, den Validierungscode zu überarbeiten, so dass es nicht Benutzern erlauben, mehrere Werte wie „Mickey hinzufügen "," MICKEY "und" mickey "? Wie kann ich die eindeutige Schlüsselüberprüfung unempfindlich machen?
Right Way:
--------------------------------
| name | description |
--------------------------------
| mickey | not a mouse |
--------------------------------
| mickey mouse | is a mouse |
--------------------------------
| donald | is a duck |
--------------------------------
Hallo Ruchir! Danke für die schnelle Antwort. Können Sie mir ein Beispiel geben, wie ich mit OpenERP Constraints die gewünschte Validierung implementieren kann? – codemickeycode
Alle Daten für spezifisches Feld in einer Liste auflisten. Konvertieren Sie es entweder in Klein- oder Großschreibung, dann prüfen Sie den neuen Wert mit dem Operator in und geben Sie das Gegenteil von result ein. –
Es hat funktioniert. Danke Ruchir! Ich habe gerade die Liste geändert, um den letzten Eintrag auszuschließen – codemickeycode