PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Campo de modelo exclusivo no Django e distinção entre maiúsculas e minúsculas (postgres)


Você pode definir um campo de modelo personalizado derivado de models.CharField .Este campo pode verificar valores duplicados, ignorando maiúsculas e minúsculas.

A documentação dos campos personalizados está aqui http://docs.djangoproject.com/en/dev/howto/custom-model-fields/

Consulte http://code.djangoproject.com/browser/django/trunk/django/db/models/fields/files.py para obter um exemplo de como criar um campo personalizado criando uma subclasse de um campo existente.

Você pode usar o módulo citext do PostgreSQL https://www.postgresql.org/docs/current/static/citext.html

Se você usar este módulo, o campo personalizado pode definir "db_type" como CITEXT para bancos de dados PostgreSQL.

Isso levaria a uma comparação sem distinção entre maiúsculas e minúsculas para valores exclusivos no campo personalizado.