Opened 10 years ago

Closed 10 years ago

#8119 closed (duplicate)

Accessing single related (parent) objects should not bypass manager

Reported by: Ivan Sagalaev Owned by: nobody
Component: Database layer (models, ORM) Version: master
Severity: Keywords:
Cc: Triage Stage: Unreviewed
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:


This is a spun-of from with the relevant discussion here:

The solution is to have a separate queryset factory on a manager get_full_query_set that can be overridden but is required to return all records. Old get_query_set normally just calls get_full_query_set and can be overridden in a usual way. This part is backwards compatible. Also managers acquire a new method get_full which works like get but explicitly calls get_full_query_set. This method is used to access single related (parent) objects. This will require users who was overriding get to override get_full instead if they wish to ensure that default filtering doesn't get in the way. This is as backwards incompatible as was after #7666 that has broken overriding of get but provides a new API to overcome this.

Attachments (1)

8119.diff (2.5 KB) - added by Ivan Sagalaev 10 years ago.

Download all attachments as: .zip

Change History (2)

Changed 10 years ago by Ivan Sagalaev

Attachment: 8119.diff added


comment:1 Changed 10 years ago by jbronn

Resolution: duplicate
Status: newclosed

Ivan, this is a duplicate of #7904. So I've added your patch, comments, and title to that ticket instead so we may centralize our discussion of this issue.

Note: See TracTickets for help on using tickets.
Back to Top