Opened 15 years ago
Last modified 9 years ago
#12134 new Bug
contrib.admin.RelatedFieldWidgetWrapper.__deepcopy__() should copy() the widget attrs
Reported by: | James Bennett | Owned by: | nobody |
---|---|---|---|
Component: | contrib.admin | Version: | 1.1 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Otherwise it ends up with a shallow copy which reuses the same attrs dict across separate widget instances, playing merry hell with form classes which want to change widget attrs on a per-(form)-instance basis.
Attachments (1)
Change History (7)
by , 15 years ago
Attachment: | 12134.diff added |
---|
comment:1 by , 15 years ago
Triage Stage: | Unreviewed → Accepted |
---|
comment:2 by , 15 years ago
comment:3 by , 14 years ago
Severity: | → Normal |
---|---|
Type: | → Bug |
comment:6 by , 9 years ago
I think #26213 gives a demonstration of a behavior which this ticket may fix.
Note:
See TracTickets
for help on using tickets.
I think we need some more analysis of why this patch is correct/needed. Here are some simplified extracts of current code:
This means:
That all seems to be correct. The attached patch would actually break the second assert, which I'm pretty sure will break the ability of the class instance to work as a wrapper.