Du kan definiera ett anpassat modellfält härlett från models.CharField
.Det här fältet kan söka efter dubbletter av värden och ignorera fallet.
Dokumentation för anpassade fält finns här http://docs.djangoproject.com/en/dev/howto/custom-model-fields/
Titta på http://code.djangoproject.com/browser/django/trunk/django/db/models/fields/files.py för ett exempel på hur man skapar ett anpassat fält genom att underklassa ett befintligt fält.
Du kan använda citextmodulen i PostgreSQL https://www.postgresql.org/docs/current/static/citext.html
Om du använder den här modulen kan det anpassade fältet definiera "db_type" som CITEXT för PostgreSQL-databaser.
Detta skulle leda till skiftlägesokänslig jämförelse för unika värden i det anpassade fältet.