Opened 19 years ago
Closed 19 years ago
#3678 closed (fixed)
BaseForm loses field sorting
| Reported by: | Chris Beaven | Owned by: | Adrian Holovaty |
|---|---|---|---|
| Component: | Forms | Version: | dev |
| Severity: | Keywords: | ||
| Cc: | Triage Stage: | Ready for checkin | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Came across this in a project just now when I had overridden BaseForm for a special form of my own. The fields were coming out in a different order from what I had specified.
The reason is that the __init__ of BaseForm does:
self.fields = self.base_fields.copy()
Even if base_fields is a SortedDict, .copy() is just the normal dict function so fields becomes a dict class and loses field sorting.
Simple patch attached.
Attachments (1)
Change History (4)
by , 19 years ago
| Attachment: | baseform_sorteddict.patch added |
|---|
comment:1 by , 19 years ago
| Triage Stage: | Unreviewed → Ready for checkin |
|---|
comment:2 by , 19 years ago
comment:3 by , 19 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
(In [4688]) Fixed #3678 -- Implemented SortedDict.copy().
Note:
See TracTickets
for help on using tickets.
You're trying to fix this in the wrong place. We should fix the
copy()method for SortedDict classes. I'll commit a fix shortly.