In my admin for an object Chair I have a TabularInline for an arbitrary number of Desk objects. I want every Chair to always
A generic FormSet clean() method for requiring at least one item:
def clean(self):
"""Check that at least one service has been entered."""
super(MyFormSet, self).clean()
if any(self.errors):
return
if not any(cleaned_data and not cleaned_data.get('DELETE', False)
for cleaned_data in self.cleaned_data):
raise forms.ValidationError('At least one item required.')
This should work for plain formsets, model formsets and in-line model formsets.