from django.forms import ModelForm from django.core.exceptions import ValidationError from .models import Payment class PaymentForm(ModelForm): class Meta: model = Payment fields = ['amount', 'period', 'payment_method', 'start'] def clean_start(self): start = self.cleaned_data['start'] if self.instance.pk: if start < self.instance.start: raise ValidationError(_('Invalid value'), code='invalid') return start