File tree Expand file tree Collapse file tree 2 files changed +25
-5
lines changed Expand file tree Collapse file tree 2 files changed +25
-5
lines changed Original file line number Diff line number Diff line change @@ -169,7 +169,19 @@ Using a custom manager when traversing reverse relations
169169~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
170170
171171It is now possible to :ref:`specify a custom manager
172- <using-custom-reverse-manager>` when traversing a reverse relationship.
172+ <using-custom-reverse-manager>` when traversing a reverse relationship::
173+
174+ class Blog(models.Model):
175+ pass
176+
177+ class Entry(models.Model):
178+ blog = models.ForeignKey(Blog)
179+
180+ objects = models.Manager() # Default Manager
181+ entries = EntryManager() # Custom Manager
182+
183+ b = Blog.objects.get(id=1)
184+ b.entry_set(manager='entries').all()
173185
174186New system check framework
175187~~~~~~~~~~~~~~~~~~~~~~~~~~
Original file line number Diff line number Diff line change @@ -1155,11 +1155,19 @@ query you can use the following syntax::
11551155
11561156 class Entry(models.Model):
11571157 #...
1158- objects = models.Manager() # Default Manager
1159- entries = EntryManager() # Custom Manager
1158+ objects = models.Manager() # Default Manager
1159+ entries = EntryManager() # Custom Manager
11601160
1161- >>> b = Blog.objects.get(id=1)
1162- >>> b.entry_set(manager='entries').all()
1161+ b = Blog.objects.get(id=1)
1162+ b.entry_set(manager='entries').all()
1163+
1164+ If ``EntryManager`` performed default filtering in its ``get_queryset()``
1165+ method, that filtering would apply to the ``all()`` call.
1166+
1167+ Of course, specifying a custom reverse manager also enables you to call its
1168+ custom methods::
1169+
1170+ b.entry_set(manager='entries').is_published()
11631171
11641172Additional methods to handle related objects
11651173~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can’t perform that action at this time.
0 commit comments