Форма, созданная на основе inlineformset_factory, всегда возвращает True, если все формы в наборе верны. Он также возвращает True, если формы в наборе форм не заполнены. Здесь не заполнено означает, что пользователь не вставил хотя бы одно значение. По крайней мере, это то, что я обнаружил.
Есть ли способ узнать, что форма в наборе форм пуста? Например, ниже я не хочу указывать пользователю сообщение о том, что объект был создан, хотя фактически этот объект не был создан.
CashExpenditureFormSet = inlineformset_factory(Project, CashExpenditure, form=CashExpenditureForm, can_delete=False, extra=1, max_num=1)
if request.method == 'POST':
cash_expenditure_formset = CashExpenditureFormSet(request.POST, request.FILES, instance=project)
if cash_expenditure_formset.is_valid():
cash_expenditure_formset.save()
request.user.message_set.create(message='The Cash Expenditure was added successfully to project: "%s".' % project.__str__())