Django unique = True não funciona

Isto é da documentação do django:

Field.unique

Se for True, esse campo deve ser exclusivo em toda a tabela.

Isso é imposto no nível do banco de dados e pela validação do modelo. Se você tentar salvar um modelo com um valor duplicado em um campo único, um django .db.IntegrityError será gerado pelo método save () do modelo.

Aqui está meu models.py

class MyModel(models.Model):
    # my pk is an auto-incrementing field
    url = models.URLField("URL", unique=True)
    text = models.TextField(max_length=1000)
    # my model is just two fields, one pk (unique), and another unique field, 
    #, the url

Aqui está o meu manage.py sqlall (eu corri o syncdb)

CREATE TABLE `MyModel_mymodel` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
     `url` varchar(200) NOT NULL UNIQUE,
     `text` varchar(1000) NOT NULL,

No entanto, no shell manage.py, posso fazer isso livremente:

>>> from MyModel.models import MyModel
>>> MyModel().save() # it works fine!? Not even the text was checked for!
>>> MyModel(url="blah").save() 
>>> MyModel(url="blah").save() # it still works!

# I checked the mysql database afterwards, the models were saved just fine, they
# however did have different PK's (auto incrementing fields).

Estou usando o mysql, o django 1.5. Alguém tem uma idéia do que poderia estar causando isso?

Estou usando um gerenciador customizado, mas duvido que seja o problema.

Obrigado.