1👍
✅
Have you considered writing your own save and clean methods on your model, to enforce the logic you want?
Have your save method call full clean (which will call your custom clean).
def clean(self):
# check for stuff to help with conditions
if <my conditions are not met>:
raise ValidationError('%s is not a valid Model. Please follow the rules')
def save(self, *args, **kwargs):
self.full_clean()
super(MyModel, self).save(*args, **kwargs)
Source:stackexchange.com