Skip to content

Commit 99416c7

Browse files
loictimgraham
authored andcommitted
Added an example to the release notes for custom reverse managers.
1 parent b4f21d1 commit 99416c7

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

docs/releases/1.7.txt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,19 @@ Using a custom manager when traversing reverse relations
169169
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
170170

171171
It 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

174186
New system check framework
175187
~~~~~~~~~~~~~~~~~~~~~~~~~~

docs/topics/db/queries.txt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff 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

11641172
Additional methods to handle related objects
11651173
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)