From e80a014fceb64a0723174c296710e6b4c04d58d0 Mon Sep 17 00:00:00 2001 From: MichaƂ Pasternak Date: Fri, 27 Oct 2017 23:38:43 +0200 Subject: [2.0.x] Fixed #28749 -- Added subquery support for ArrayField's __in lookup. Backport of e554b72a2a5473f3f1e57a32565758757a9e8e87 from master --- django/contrib/postgres/fields/array.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'django/contrib/postgres/fields/array.py') diff --git a/django/contrib/postgres/fields/array.py b/django/contrib/postgres/fields/array.py index 7992740663..a5f6573766 100644 --- a/django/contrib/postgres/fields/array.py +++ b/django/contrib/postgres/fields/array.py @@ -240,6 +240,9 @@ class ArrayLenTransform(Transform): class ArrayInLookup(In): def get_prep_lookup(self): values = super().get_prep_lookup() + if hasattr(self.rhs, '_prepare'): + # Subqueries don't need further preparation. + return values # In.process_rhs() expects values to be hashable, so convert lists # to tuples. prepared_values = [] -- cgit v1.3