У меня есть следующая модель:
class MyModel(models.Model):
RED = 'red'
BLUE = 'blue'
EMPTY_COLOR = None
COLORS = (
(EMPTY_COLOR, '---'),
(RED, 'red'),
(BLUE, 'blue'),
)
color = models.CharField(max_length=255, null=True, blank=True,
choices=COLORS, default=EMPTY_COLOR)
Я хочу, чтобы модель проверялась как действительная (используя full_clean()
в экземпляре), если цвет установлен на None
(или сине-красный, конечно), но не при установке пустой строки. Тем не менее, пустая строка, к счастью, может быть определена в модели и сохранена в базе данных, даже если варианты, на мой взгляд, определены только как NULL, «красный» или «синий».
Мои предположения неверны? Как я могу запретить использование пустой строки в качестве допустимого значения при сохранении работоспособности проверки модели, когда цвет None
?