Found a better solution:
class RequiredFormSet(BaseFormSet):
def __init__(self, *args, **kwargs):
super(RequiredFormSet, self).__init__(*args, **kwargs)
for form in self.forms:
form.empty_permitted = False
Then create your formset like this:
MyFormSet = formset_factory(MyForm, formset=RequiredFormSet)
I really don’t know why this wasn’t an option to begin with… but, whatever. It only took a few hours of my life to figure out.
This will make all the forms required. You could make just the first one required by setting self.forms[0].empty_permitted
to False
.