The expected iterable return type should match input iterable type.
--
Ticket URL: <https://code.djangoproject.com/ticket/30971>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* owner: nobody => George Marshall
* status: new => assigned
--
Ticket URL: <https://code.djangoproject.com/ticket/30971#comment:1>
* has_patch: 0 => 1
Comment:
PR: https://github.com/django/django/pull/12050
This could potentially use a test case, need some direction on how to
cover this.
I have also included links to my Django library code that was affected by
the change.
https://github.com/georgemarshall/django-
cryptography/blob/789e7a757e01220bc46b17b995bb201cda496ef6/tests/fields/test_pickle.py#L61
https://travis-ci.org/georgemarshall/django-cryptography/jobs/609869188
I am also not sure how the postgres `ArrayField` was not affected by the
tuple coercion.
--
Ticket URL: <https://code.djangoproject.com/ticket/30971#comment:2>
* severity: Normal => Release blocker
* stage: Unreviewed => Accepted
Comment:
Thanks. I agree that we shouldn't change iterable types unless absolutely
necessary to avoid these subtle bugs.
--
Ticket URL: <https://code.djangoproject.com/ticket/30971#comment:3>
* needs_tests: 0 => 1
--
Ticket URL: <https://code.djangoproject.com/ticket/30971#comment:4>
* cc: Simon Charette (added)
--
Ticket URL: <https://code.djangoproject.com/ticket/30971#comment:5>
Comment (by Simon Charette):
The approach seems fine given it's appropriately tested.
--
Ticket URL: <https://code.djangoproject.com/ticket/30971#comment:6>
* needs_tests: 1 => 0
* stage: Accepted => Ready for checkin
--
Ticket URL: <https://code.djangoproject.com/ticket/30971#comment:7>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"fa6076daf460df2c2c5ff9f62862f050bc4427f4" fa6076da]:
{{{
#!CommitTicketReference repository=""
revision="fa6076daf460df2c2c5ff9f62862f050bc4427f4"
[3.0.x] Fixed #30971 -- Prevented Query.resolve_lookup_value() from
coercing list values to tuples.
Regression in 8a281aa7fe76a9da2284f943964a9413697cff1f.
Backport of 8be79984dce7d819879a6e594ca69c5f95a08378 from master
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/30971#comment:8>
Comment (by Mariusz Felisiak <felisiak.mariusz@…>):
In [changeset:"8be79984dce7d819879a6e594ca69c5f95a08378" 8be79984]:
{{{
#!CommitTicketReference repository=""
revision="8be79984dce7d819879a6e594ca69c5f95a08378"
Fixed #30971 -- Prevented Query.resolve_lookup_value() from coercing list
values to tuples.
Regression in 8a281aa7fe76a9da2284f943964a9413697cff1f.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/30971#comment:9>