Documented behavior of get_or_create when multiple objects are returned.
Thanks Matt Lauber for the patch.
This commit is contained in:
parent
9e11253497
commit
71a3162a70
|
@ -1321,10 +1321,12 @@ The above example can be rewritten using ``get_or_create()`` like so::
|
||||||
|
|
||||||
Any keyword arguments passed to ``get_or_create()`` — *except* an optional one
|
Any keyword arguments passed to ``get_or_create()`` — *except* an optional one
|
||||||
called ``defaults`` — will be used in a :meth:`get()` call. If an object is
|
called ``defaults`` — will be used in a :meth:`get()` call. If an object is
|
||||||
found, ``get_or_create()`` returns a tuple of that object and ``False``. If an
|
found, ``get_or_create()`` returns a tuple of that object and ``False``. If
|
||||||
object is *not* found, ``get_or_create()`` will instantiate and save a new
|
multiple objects are found, ``get_or_create`` raises
|
||||||
object, returning a tuple of the new object and ``True``. The new object will
|
:exc:`~django.core.exceptions.MultipleObjectsReturned`. If an object is *not*
|
||||||
be created roughly according to this algorithm::
|
found, ``get_or_create()`` will instantiate and save a new object, returning a
|
||||||
|
tuple of the new object and ``True``. The new object will be created roughly
|
||||||
|
according to this algorithm::
|
||||||
|
|
||||||
defaults = kwargs.pop('defaults', {})
|
defaults = kwargs.pop('defaults', {})
|
||||||
params = dict([(k, v) for k, v in kwargs.items() if '__' not in k])
|
params = dict([(k, v) for k, v in kwargs.items() if '__' not in k])
|
||||||
|
|
Loading…
Reference in New Issue