MCPcopy
hub / github.com/django/django / BaseFormSet

Class BaseFormSet

django/forms/formsets.py:52–531  ·  view source on GitHub ↗

A collection of instances of the same Form class.

Source from the content-addressed store, hash-verified

50
51
52class BaseFormSet(RenderableFormMixin):
53 """
54 A collection of instances of the same Form class.
55 """
56
57 deletion_widget = CheckboxInput
58 ordering_widget = NumberInput
59 default_error_messages = {
60 "missing_management_form": _(
61 "ManagementForm data is missing or has been tampered with. Missing fields: "
62 "%(field_names)s. You may need to file a bug report if the issue persists."
63 ),
64 "too_many_forms": ngettext_lazy(
65 "Please submit at most %(num)d form.",
66 "Please submit at most %(num)d forms.",
67 "num",
68 ),
69 "too_few_forms": ngettext_lazy(
70 "Please submit at least %(num)d form.",
71 "Please submit at least %(num)d forms.",
72 "num",
73 ),
74 }
75
76 template_name_div = "django/forms/formsets/div.html"
77 template_name_p = "django/forms/formsets/p.html"
78 template_name_table = "django/forms/formsets/table.html"
79 template_name_ul = "django/forms/formsets/ul.html"
80
81 def __init__(
82 self,
83 data=None,
84 files=None,
85 auto_id="id_%s",
86 prefix=None,
87 initial=None,
88 error_class=ErrorList,
89 form_kwargs=None,
90 error_messages=None,
91 ):
92 self.is_bound = data is not None or files is not None
93 self.prefix = prefix or self.get_default_prefix()
94 self.auto_id = auto_id
95 self.data = data or {}
96 self.files = files or {}
97 self.initial = initial
98 self.form_kwargs = form_kwargs or {}
99 self.error_class = error_class
100 self._errors = None
101 self._non_form_errors = None
102 self.form_renderer = self.renderer
103 self.renderer = self.renderer or get_default_renderer()
104
105 messages = {}
106 for cls in reversed(type(self).__mro__):
107 messages.update(getattr(cls, "default_error_messages", {}))
108 if error_messages is not None:
109 messages.update(error_messages)

Callers

nothing calls this directly

Calls 1

ngettext_lazyFunction · 0.90

Tested by

no test coverage detected