我有一个模特:
class Category(models.Model):
CATS = (
('CT', 'Cool Things'),
('II', 'Internet & IT'),
('BT', 'Beautiful Things'),
)
cat = models.CharField(max_length=2, choices=CATS)
def __unicode__(self):
return self.get_cat_display()
我已经为所有三个类别创建了对象。现在我想禁止我的同事创建另一个已经存在的对象。这怎么可能?我用Google搜索但似乎找不到东西......
答案 0 :(得分:1)
为unique=True
字段(docs)设置cat
:
这是在数据库级别和模型验证中强制执行的。如果你 尝试在唯一字段中保存具有重复值的模型,a 模型的
django.db.IntegrityError
方法将引发save()
。
cat = models.CharField(max_length=2, choices=CATS, unique=True)