Simon Charette 0fd21febe7 [2.0.x] Fixed #29195 -- Fixed Exists.output_field resolution on single-valued queries.
The Subquery class which Exists inherits from defaulted to using single-valued
querie's field if no output_field was explicitly specified on initialization
which was bypassing the Exists.output_field defined at the class level.

Moving Subquery's dynamic output_field resolution to _resolve_output_field
should make sure the fallback logic is only performed if required.

Regression in 08654a99bbdd09049d682ae57cc94241534b29f0.

Thanks Oli Warner for the detailed report.

Backport of 277ed072094ad87fc6b2c4669f21d43b1f39043c from master
2018-03-08 14:06:10 -05:00
..
2017-06-01 13:23:48 -04:00
2017-06-21 12:00:47 -04:00
2015-02-06 12:58:45 +01:00

To run the test suite, first, create and activate a virtual environment. Then install some requirements and run the tests:

$ cd tests
$ pip install -e ..
$ pip install -r requirements/py3.txt
$ ./runtests.py

For more information about the test suite, see https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/.