运行makemigrations
然后migrate
将唯一约束应用于sqlite3
因为您正在使用django 1.5,所以将采用此解决方案。
如果unique=True
在已经创建表之后添加了,则即使syncdb
稍后再添加,唯一条件也不会添加到表中。
我可以确认sqlite3
Django 1.5MyModel(url="blah").save()
是否会在数据库中不存在唯一约束的情况下愉快地保存重复对象,这似乎与文档矛盾。
ALTER TABLE MyModel_mymodel ADD UNIQUE (url);
或者,如果您不介意,则可以重新创建表。(删除表,然后运行syncdb
。)