Django unique=True, за исключением пустых значений

У меня есть эта модель:

class Part(models.Model):
    serial_number = models.CharField(max_length=15, null=True, blank=True, validators=[validate_serial], unique=True)
    ....

серийный_номер может быть пустым и нулевым, потому что не все части обязательно имеют серийный номер. Однако после сохранения одной детали без серийного номера пробел больше не является уникальным, и я получаю эту ошибку:

Деталь с этим серийным номером уже существует.

Есть ли обходной путь? Я уже просмотрел этот вопрос, но у меня нет формы модели. Я либо использую админку, либо делаю это прямо в коде.

8
задан Community 23 May 2017 в 12:22
поделиться