models.py中是否有一条指令,允许我在字段中不重复输入值?我正在整理一张桌子,我需要不要重复输入电子邮件字段。
答案 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
字段将包含一个不同值。