Case insensitive unique model fields in Django?
You can use citext postgres type instead and not bother anymore with any sort of iexact. Just make a note in model that underlying field is case insensitive.
Much easier solution.
I have basically a username is unique (case insensitive), but the case matters when displaying as provided by the user. 
I have the following requirements:

field is CharField compatible
field is unique, but case insensitive
field needs to be searchable ignoring case (avoid using iexact, easily forgotten)
field is stored with case intact 
preferably enforced on database level
preferably avoid storing an extra field

Is this possible in Django? 
The only solution I came up with is "somehow" override the Model manager, use an extra field, or always use 'iexact' in searches.
I'm on Django 1.3 and PostgreSQL 8.4.2.