模型中的不可重复字段

时间:2019-05-14 21:06:23

标签: django django-models

models.py中是否有一条指令,允许我在字段中不重复输入值?我正在整理一张桌子,我需要不要重复输入电子邮件字段。

1 个答案:

答案 0 :(得分:2)

是的,您可以将unique=True [Django-doc]传递到该字段。

例如:

from django.db import models

class MyModel(models.Model):
    email = models.CharField(max_length=128, unique=True)

根据文档中的说明:

  

Field.unique

     

如果为True,则此字段在整个表格中必须是唯一的

     

这是在数据库级别模型下实施的   验证。如果您尝试保存具有重复值的模型,   唯一字段,django.db.IntegrityError将由   模型的save()方法。

     

该选项对ManyToManyField和   OneToOneField

     

请注意,当unique为True时,您无需指定db_index,   因为唯一表示创建索引。

因此,在这里,对于每两个不同的MyModel对象,我们知道它们的email字段将包含一个不同值。