django inlineformset_factory - как определить, была ли форма из набора форм пустой - PullRequest
1 голос
/ 13 января 2010

Форма, созданная на основе 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__())

1 Ответ

3 голосов
/ 13 января 2010

Это очень тесно связано с ответом, который я разместил на другом вопросе, решив эту проблему самостоятельно: Проверка встроенной формы в Django

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...