Да, вы можете передать unique=True
[Django-doc] в это поле.
Например:
from django.db import models
class MyModel(models.Model):
email = models.CharField(max_length=128, <b>unique=True</b>)
Как указано в документации:
Field.unique
Если True
, это поле должно быть уникальным для всей таблицы .
Это применяется на уровне базы данных и модели
проверка . Если вы попытаетесь сохранить модель с повторяющимся значением в
уникальное поле, django.db.IntegrityError
будет поднято
метод модели save()
.
Эта опция действительна для всех типов полей, кроме ManyToManyField
и
OneToOneField
.
Обратите внимание: если для параметра unique установлено значение True, вам не нужно указывать db_index
,
потому что уникальный подразумевает создание индекса.
Так что здесь для каждых двух различных MyModel
объектов мы знаем, что их поле email
будет содержать различное значение.