Django Model Validations
Something to keep in mind when validating on the model is that the
clean method is not called automatically.
So you have to override the
save method so that the validation is done. Otherwise only
IntegrityErrors are raised.
Add the following method to your model
def save(self, *args, **kwargs): self.full_clean() return super().save(*args, **kwargs)
Model Validations do not run on model level
These validations will fire when creating objects with a
ModelForm but they will not if you are just creating the object directly.
full_time_equivalent = models.DecimalField( max_digits=5, decimal_places=2, default=100, validators=[ MinValueValidator(Decimal(0)), MaxValueValidator(Decimal(100)) ] )
So it is again as above you need to run the
self.full_clean() method on