Django clean метод вызывает is_valid() false

вот моя модель:

class Product(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    name = models.CharField(max_length=200)
    description = models.TextField(blank=True)
    price = models.DecimalField(max_digits=10, decimal_places=2)
    stock = models.PositiveIntegerField()
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    objects = models.Manager()
    available = ProductStockManager()

и у меня есть форма вот такая:

class ProductForm(ModelForm):
    name = forms.CharField(max_length=200)
    price = forms.DecimalField(decimal_places=2)
    description = forms.Textarea()

    class Meta:
        model = Product
        fields = ['category', 'name', 'description', 'price', 'stock']

    def clean_description(self):
         pass

    def clean_price(self):
        pass

    def clean_name(self):
        pass

В моей форме, когда я использую clean_field() для каждого поля, это делает is_valid() False, кроме clean_description() для чего это нужно?

почему когда я использую clean_price(), clean_name() мой is_valid() возвращает False?

и почему это не происходит, когда я использую clean_description()?

Вернуться на верх