Hi All,
Let shed some actually light on the whole problem, before people start piling in.
This is mostly (form the Django perspective) and issue with CharFields, because a CharField can store None or ''. For values of '' in CharField, IIRC, django will convert them to null, with null=True, blank=True. But not with blank=True,null=False.
So if it stores '', (with null=False) then the uniqueness should work as expected.
It is should (rather than will), because Django relies on the backend Database to enforce the constraints, so will depend on the level of conformance the Backend Db has.
SQLite, MySQL, Postgres all work, like this, but SQL Server apparently doesn't.
There's quite a bit there; but I hope it helps and isn't too confusing.