My guess is that unique=True was added after the table was created using syncdb.
I'm guessing that most companies that use Django professionally use South (
http://south.aeracode.org/) to make schema changes easier.
Without South, you would have to keep the database in sync with the code manually (as in `CREATE INDEX...`)
After South has the existing structure synced in it's history, you can make schema changes and then create new migrations (python manage.py schemamigration --auto <app name>; python manage.py migrate)