diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/admin/helpers.py | 8 | ||||
| -rw-r--r-- | django/test/testcases.py | 12 |
2 files changed, 20 insertions, 0 deletions
diff --git a/django/contrib/admin/helpers.py b/django/contrib/admin/helpers.py index 2e7a20a49b..aea13b94d7 100644 --- a/django/contrib/admin/helpers.py +++ b/django/contrib/admin/helpers.py @@ -84,6 +84,10 @@ class AdminForm: return self.form.non_field_errors @property + def is_bound(self): + return self.form.is_bound + + @property def media(self): media = self.form.media for fs in self: @@ -438,6 +442,10 @@ class InlineAdminFormSet: return self.formset.non_form_errors @property + def is_bound(self): + return self.formset.is_bound + + @property def media(self): media = self.opts.media + self.formset.media for fs in self: diff --git a/django/test/testcases.py b/django/test/testcases.py index 14416807be..0d24bf0d40 100644 --- a/django/test/testcases.py +++ b/django/test/testcases.py @@ -595,6 +595,12 @@ class SimpleTestCase(unittest.TestCase): for i, context in enumerate(contexts): if form not in context: continue + if not context[form].is_bound: + form_repr = repr(context[form]) + self.fail( + f"{msg_prefix}The form {form_repr} is not bound, it will never " + f"have any errors." + ) found_form = True for err in errors: if field: @@ -680,6 +686,12 @@ class SimpleTestCase(unittest.TestCase): for i, context in enumerate(contexts): if formset not in context or not hasattr(context[formset], "forms"): continue + if not context[formset].is_bound: + formset_repr = repr(context[formset]) + self.fail( + f"{msg_prefix}The formset {formset_repr} is not bound, it will " + f"never have any errors." + ) found_formset = True for err in errors: if field is not None: |
