Opened 16 years ago
Last modified 10 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 , 16 years ago
| Attachment: | 12134.diff added |
|---|
comment:1 by , 16 years ago
| Triage Stage: | Unreviewed → Accepted |
|---|
comment:2 by , 16 years ago
comment:3 by , 15 years ago
| Severity: | → Normal |
|---|---|
| Type: | → Bug |
comment:6 by , 10 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.