PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Einzigartiges Modellfeld in Django und Groß-/Kleinschreibung (postgres)

Sie könnten ein benutzerdefiniertes Modellfeld definieren, das von models.CharField abgeleitet wird .Dieses Feld könnte auf doppelte Werte prüfen, wobei die Groß-/Kleinschreibung ignoriert wird.

Die Dokumentation zu benutzerdefinierten Feldern finden Sie hier http://docs.djangoproject.com/en/dev/howto/custom-model-fields/

Unter http://code.djangoproject.com/browser/django/trunk/django/db/models/fields/files.py finden Sie ein Beispiel dafür, wie Sie ein benutzerdefiniertes Feld erstellen, indem Sie Unterklassen eines vorhandenen Felds erstellen.

Sie könnten das Citext-Modul von PostgreSQL https://www.postgresql.org/docs/current/static/citext.html

verwenden

Wenn Sie dieses Modul verwenden, könnte das benutzerdefinierte Feld "db_type" als CITEXT für PostgreSQL-Datenbanken definieren.

Dies würde zu einem Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung für eindeutige Werte im benutzerdefinierten Feld führen.