2014-04-15 33 views
1

我有一个模型:Django管理 - 如何禁止创建已存在的对象

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了,但似乎无法有发现什么......

回答

1

设置unique=Truecat场(docs):

这在数据库级别,并通过模型验证强制执行。如果您尝试在唯一字段中保存具有重复值的模型,则模型的save()方法将引发一个 django.db.IntegrityError

cat = models.CharField(max_length=2, choices=CATS, unique=True) 
+0

谢谢兄弟。像任何事一样工作 – doniyor

相关问题