summaryrefslogtreecommitdiff
path: root/docs/ref
diff options
context:
space:
mode:
authorTom Carrick <knyght@knyg.ht>2017-03-28 16:57:23 +0100
committerTim Graham <timograham@gmail.com>2017-07-21 08:34:35 -0400
commit3159ad4df6ec05c3eac07b930b4af32739bec7b0 (patch)
tree37c97dc6f7425b8f8529e5f4d21e38a2cbe2b5e5 /docs/ref
parent76236f0db2d6afe14c08393cef676f0f3939f7d8 (diff)
Fixed #27970 -- Allowed QuerySet.in_bulk() to fetch on fields besides primary key.
Diffstat (limited to 'docs/ref')
-rw-r--r--docs/ref/models/querysets.txt16
1 files changed, 12 insertions, 4 deletions
diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt
index 2c1f68fc06..74f83ab8c5 100644
--- a/docs/ref/models/querysets.txt
+++ b/docs/ref/models/querysets.txt
@@ -1997,11 +1997,13 @@ database query like ``count()`` would.
``in_bulk()``
~~~~~~~~~~~~~
-.. method:: in_bulk(id_list=None)
+.. method:: in_bulk(id_list=None, field_name='pk')
-Takes a list of primary-key values and returns a dictionary mapping each
-primary-key value to an instance of the object with the given ID. If a list
-isn't provided, all objects in the queryset are returned.
+Takes a list of field values (``id_list``) and the ``field_name`` for those
+values, and returns a dictionary mapping each value to an instance of the
+object with the given field value. If ``id_list`` isn't provided, all objects
+in the queryset are returned. ``field_name`` must be a unique field, and it
+defaults to the primary key.
Example::
@@ -2013,9 +2015,15 @@ Example::
{}
>>> Blog.objects.in_bulk()
{1: <Blog: Beatles Blog>, 2: <Blog: Cheddar Talk>, 3: <Blog: Django Weblog>}
+ >>> Blog.objects.in_bulk(['beatles_blog'], field_name='slug')
+ {'beatles_blog': <Blog: Beatles Blog>}
If you pass ``in_bulk()`` an empty list, you'll get an empty dictionary.
+.. versionchanged:: 2.0
+
+ The ``field_name`` parameter was added.
+
``iterator()``
~~~~~~~~~~~~~~