Я использую прозрачные формы для своего проекта Django, и в одной из форм, которые я использую, есть поле, которое должно быть уникальным при вводе, но также должно быть возможно оставить его пустым.
В моем проекте базы данных студентов у каждого студента есть student_id, установленный в качестве первичного ключа, и у каждого студента также должен быть anonymous_id, который будет добавлен позже в этом году. Этот идентификатор экзамена должен быть уникальным, чтобы администратор не мог ввести его для неправильного студента. Очень упрощенно модель выглядит так:
class Student(models.Model):
student_id = models.CharField(primary_key=True)
anonymous_id = models.CharField(null=True, blank=True, unique=True, default=None)
...
а форма просто перечисляет оба поля на вкладке. Без Crispy Forms не было проблем с вводом студентов с пустым полем для "anonymous_id", но теперь он жалуется на второго студента ("Студент с этим анонимным идентификатором уже существует.") - предположительно, потому что уже есть тот, у кого есть " Нет "в качестве его удостоверения личности.
Могу ли я что-нибудь сделать, чтобы отключить проверку только для None, или мне придется удалить уникальное ограничение?
Спасибо, Тоби