Django Admin - 如何禁止创建已存在的对象

时间:2014-04-15 16:39:29

标签: python django django-admin

我有一个模特:

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 个答案:

答案 0 :(得分:1)

unique=True字段(docs)设置cat

  

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

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