PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Campo modello unico in Django e case sensitive (postgres)

Puoi definire un campo modello personalizzato derivato da models.CharField .Questo campo potrebbe verificare la presenza di valori duplicati, ignorando il caso.

La documentazione sui campi personalizzati è qui http://docs.djangoproject.com/en/dev/howto/custom-model-fields/

Guarda http://code.djangoproject.com/browser/django/trunk/django/db/models/fields/files.py per un esempio di come creare un campo personalizzato sottoclasse di un campo esistente.

Potresti usare il modulo citext di PostgreSQL https://www.postgresql.org/docs/current/static/citext.html

Se usi questo modulo, il campo personalizzato potrebbe definire "db_type" come CITEXT per i database PostgreSQL.

Ciò porterebbe a un confronto senza distinzione tra maiuscole e minuscole per i valori univoci nel campo personalizzato.