Вот разъяснение для тех, кто сталкивается с похожими проблемами ошибок, не отображаемых в шаблоне:
Если у вас есть ошибка в отношении набора форм в целом, используйте:
{{ formset.non_form_errors }}
это в основном возвращает ошибки в __all__
записи из formset.errors
. Это задокументировано как:
"""
Returns an ErrorList of errors that aren't associated with a particular
form -- i.e., from formset.clean(). Returns an empty ErrorList if there
are none.
"""
Однако, если вы визуализируете формы из набора форм, а некоторые ошибки не отображаются, вы, вероятно, пропустите:
{% for form in formset.forms %}
{# ... #}
{{ form.non_field_errors }}
{% endfor %}
возвращает ошибки в записи __all__
из form.errors
. Это, аналогично non_form_errors
, ошибки, которые связаны не с конкретным полем, а с полевыми отношениями. Например, если у вас есть форма с полями From
и To
, и вы проверяете, если значение From
меньше значения To
, тег {{ form.non_field_errors }}
может выдать следующую ошибку:
'The From value must be smaller than the To value'