Możesz zdefiniować niestandardowe pole modelu pochodzące z models.CharField
.To pole może sprawdzić zduplikowane wartości, ignorując wielkość liter.
Dokumentacja pól niestandardowych znajduje się tutaj http://docs.djangoproject.com/en/dev/howto/custom-model-fields/
Spójrz na http://code.djangoproject.com/browser/django/trunk/django/db/models/fields/files.py, aby zapoznać się z przykładem tworzenia niestandardowego pola przez podklasy istniejącego pola.
Możesz użyć modułu citext PostgreSQL https://www.postgresql.org/docs/current/static/citext.html
Jeśli użyjesz tego modułu, niestandardowe pole może zdefiniować "db_type" jako CITEXT dla baz danych PostgreSQL.
Prowadziłoby to do porównania bez rozróżniania wielkości liter dla unikalnych wartości w polu niestandardowym.