id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 23167,BaseForm lacks a useful repr,Keryn Knight ,nobody,"Currently, form instances have a useful `__str__` which renders them out as a table, but the `__repr__` (or lack thereof) for them is the same old unhelpful `` which all Python classes get by default. It would be more useful to those of us who live in pdb/repl (and debug-toolbar template contexts -- which use `pprint.pformat` for rendering values, which internally uses `saferepr`, which as you might expect, eventually calls `repr(x)`) if the repr had some info about the form itself. Off the top of my head, is_bound, field names, valid state would be a reasonable representation of the form, such that you get something like `` A slight complication is that the is_valid bool couldn't be obtained via `is_valid` because that triggers validation -- it would instead need to be `is_bound and not self._errors` or something (I'm assuming ErrorDict returns truthy/falsy the same as dict does) Further, the field names ought to come from the keys of `self.fields` rather than `base_fields`, as the former is instance specific and often gets modified. One could also make the case for adding `has_changed` into the repr, but in my experience, it's a lesser-used piece of the API; ditto the prefix. There've been a few tickets for repr-adding goodness (#22906, #22531, #19543) so I'm assuming that providing a richer REPL experience in general means there may be merit to this ticket. ",New feature,closed,Forms,dev,Normal,fixed,,Areski Belaid,Accepted,1,0,0,0,0,0