There was a bug introduced in #18676 which caused fast-path deletes implemented as "DELETE WHERE pk IN <subquery>" to fail if the SELECT clause contained additional stuff (for example extra() and annotate()). Thanks to Trac alias pressureman for spotting this regression.
Thanks mrmachine for the review.
This case was originally designed to handle Exception's which didn't gracefully support coercing themselves to unicode. However, because it lives in the `else` case of `if hasattr(s, '__unicode__'):` we can be sure it's no longer reachable in djanog anymore, because since Python 2.5 exception has subclassed object, which means Exception objects always have an __unicode__ method.
… for the suggestion.
response.content can be accessed many times as desired, and always returns the same result. iter(response) works only once and consumes the iterator.
in HttpResponses instantiated with iterators.
Thanks maxirobaina for the report.
Thanks vlinhart for the report and Łukasz Rekucki for the patch.
Thanks Mario César for the report and draft patch.
This commit caused every test that does two or more assertContains to fail, because of #6527. It also made HttpResponse non-pickleable. Refs #13222.
Fixed #19162 -- Wrong indentation.
Thanks teepark for the report and grahamd for his insights.
Thanks Alexey Boriskin for the report. Refs #18240.
Iterators will be closed for both regular and streaming responses; this shouldn't be described as a difference.
Refs #7581. Thanks mrmachine.
…y to request.py, response.py and utils.py
Fixed #19142 -- Language codes can include numbers (RFC 3066)
removing typo in the process. Thanks to Carlos Palol for the catch. Closes pull 450
Allow reversed iteration over SortedDict.
Fixed #19151 -- Added missing methods to EmptyQuerySet.
Added values() and values_list() methods to EmptyQuerySet.
…er caching; thanks jtiai for the suggestion.
Thanks mrmachine and everyone else involved on this long-standing ticket.