Обработка уникальности в коде Django, я нашел проблему: как проверить записи на валидаторах, но исключая себя, потому что функция обновления?django objects.filter exclude yourself
Я пробую ниже, но не работает.
Пожалуйста, помогите мне?
model.py
def check_email_person(email_given):
myid = Person.id
if Person.objects.filter(email=email_given).exclude(id__in=myid):
raise ValidationError(u"E-mail already exists!")
class Person(models.Model):
email = models.EmailField(blank=True, null=True, validators=[check_email_person])
Почему не просто установить 'уникальный = true' на поле электронной почты? – Brandon
Привет Брэндон, потому что пустые электронные письма разрешены. Tks. –
Вы можете установить unique = True и blank = True. Установщик поля будет запущен только в том случае, если оно присутствует. – Brandon