PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Champ de modèle unique dans Django et sensibilité à la casse (postgres)

Vous pouvez définir un champ de modèle personnalisé dérivé de models.CharField .Ce champ pourrait vérifier les valeurs en double, en ignorant la casse.

La documentation des champs personnalisés est ici http://docs.djangoproject.com/en/dev/howto/custom-model-fields/

Regardez http://code.djangoproject.com/browser/django/trunk/django/db/models/fields/files.py pour un exemple de création d'un champ personnalisé en sous-classant un champ existant.

Vous pouvez utiliser le module citext de PostgreSQL https://www.postgresql.org/docs/current/static/citext.html

Si vous utilisez ce module, le champ personnalisé pourrait définir "db_type" comme CITEXT pour les bases de données PostgreSQL.

Cela conduirait à une comparaison insensible à la casse pour les valeurs uniques dans le champ personnalisé.