Code

Opened 5 years ago

Closed 5 years ago

#11821 closed (duplicate)

Objects with multiple foreign key relationships to the same table will not correctly warn about deletion of related objects

Reported by: shields@… Owned by: nobody
Component: contrib.admin Version: 1.1
Severity: Keywords:
Cc: mshields@… Triage Stage: Unreviewed
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

Consider:

class Thing(models.Model):
    foreground_color = models.ForeignKey(Color, related_name='thing_foreground')
    background_color = models.ForeignKey(Color, related_name='thing_background')

The admin delete view for a Color will correctly warn about the cascade deletions of all Things with that foreground_color. However, it will not show the deletions of Things with that background_color, and they will be deleted. This is surprising and dangerous behavior.

A patch and regression test are included.

Attachments (1)

multiple-fk-delete-view.txt (4.1 KB) - added by shields@… 5 years ago.

Download all attachments as: .zip

Change History (3)

Changed 5 years ago by shields@…

comment:1 Changed 5 years ago by anonymous

  • Component changed from Uncategorized to django.contrib.admin
  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset

comment:2 Changed 5 years ago by kmtracey

  • Resolution set to duplicate
  • Status changed from new to closed

This is a dupe of #6191. You might want to attach your patch there, with a .diff extension so that it will hopefully display nicely in trac.

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
as The resolution will be set. Next status will be 'closed'
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.