sql >> Base de Datos >  >> RDS >> PostgreSQL

Campo de modelo único en Django y distinción entre mayúsculas y minúsculas (postgres)

Podría definir un campo de modelo personalizado derivado de models.CharField .Este campo podría verificar valores duplicados, ignorando el caso.

La documentación de campos personalizados está aquí http://docs.djangoproject.com/en/dev/howto/custom-model-fields/

Mire http://code.djangoproject.com/browser/django/trunk/django/db/models/fields/files.py para ver un ejemplo de cómo crear un campo personalizado subclasificando un campo existente.

Podría usar el módulo citext de PostgreSQL https://www.postgresql.org/docs/current/static/citext.html

Si usa este módulo, el campo personalizado podría definir "db_type" como CITEXT para bases de datos PostgreSQL.

Esto conduciría a una comparación sin distinción entre mayúsculas y minúsculas para valores únicos en el campo personalizado.