[2.0.x] Fixed #28796 -- Doc'd backwards incompatibility when reverse() receives bytestring args/kwargs.

Due to 301de774c2.

Backport of 6bf85ff7e3 from master
This commit is contained in:
Tim Graham 2017-11-15 18:14:53 -05:00
parent 498b5db6fe
commit 0f7b5b38b6
1 changed files with 6 additions and 0 deletions

View File

@ -349,6 +349,12 @@ of binary fields or HTTP streams, for example). You might have to update your
code to limit bytestring usage to a minimum, as Django no longer accepts
bytestrings in certain code paths.
For example, ``reverse()`` now uses ``str()`` instead of ``force_text()`` to
coerce the ``args`` and ``kwargs`` it receives, prior to their placement in
the URL. For bytestrings, this creates a string with an undesired ``b`` prefix
as well as additional quotes (``str(b'foo')`` is ``"b'foo'"``). To adapt, call
``decode()`` on the bytestring before passing it to ``reverse()``.
Database backend API
--------------------