Колорпикер и валидация полей

Я использую TabularInlines для сбора некоторой информации, одной из которых является поле цвета:

class UnitForm(forms.ModelForm):
    class Meta:
        model = Unit
        fields = ["date", "name", "label", "color"]
        widgets = {"color": TextInput(attrs={'type': 'color'}),}

class UnitTabularInline(admin.TabularInline):
    form = UnitForm
    model = Unit
    extra = 0 ##workaround


class StockAdmin(admin.ModelAdmin):
    list_display = []
    inlines = [UnitTabularInline]

Моя проблема в том, что без переключателя extra = 0 я всегда вижу 3 "пустых" поля (которые я на самом деле хочу видеть). Но я не могу сохранить форму, если не заполню все поля, потому что colorpicker имеет заранее выбранное значение. Похоже, что когда input имеет type="color", всегда есть определенный цвет, и нет способа установить эту строку пустой.

Могу ли я каким-то образом пропустить проверку формы для полей, в которых есть только color в self.chagned_data или что-то в этом роде? Я бы хотел, чтобы остальные правки сохранялись.

Модель:

class Unit(models.Model):
    name = models.CharField("name", max_length=128, blank=True, null=True)
    date = models.DateField()
    stock = models.ForeignKey(Stock, on_delete=models.CASCADE)
    label = models.CharField("extra label", max_length=32, null=True, blank=True)
    color = models.CharField(max_length=7, null=True, blank=True)
Вернуться на верх