diff options
| author | Nick Pope <nick@nickpope.me.uk> | 2021-09-21 00:49:16 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-07-27 10:06:24 +0200 |
| commit | 9dff316be41847c505ebf397e4a52a0a71e0acc4 (patch) | |
| tree | 1bf4412223b6c0467ae5107df9422ea1406b86d6 /django/contrib/admin | |
| parent | 845667f2d1eb7063c568764a01fc9ee633ec5817 (diff) | |
Refs #32948, Refs #32946 -- Used Q.create() internally for dynamic Q() objects.
Node.create() which has a compatible signature with Node.__init__()
takes in a single `children` argument rather than relying in unpacking
*args in Q.__init__() which calls Node.__init__().
In addition, we were often needing to unpack iterables into *args and
can instead pass a list direct to Node.create().
Diffstat (limited to 'django/contrib/admin')
| -rw-r--r-- | django/contrib/admin/filters.py | 2 | ||||
| -rw-r--r-- | django/contrib/admin/options.py | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/django/contrib/admin/filters.py b/django/contrib/admin/filters.py index ec97605f14..dd6954a065 100644 --- a/django/contrib/admin/filters.py +++ b/django/contrib/admin/filters.py @@ -527,7 +527,7 @@ class EmptyFieldListFilter(FieldListFilter): lookup_conditions.append((self.field_path, "")) if self.field.null: lookup_conditions.append((f"{self.field_path}__isnull", True)) - lookup_condition = models.Q(*lookup_conditions, _connector=models.Q.OR) + lookup_condition = models.Q.create(lookup_conditions, connector=models.Q.OR) if self.lookup_val == "1": return queryset.filter(lookup_condition) return queryset.exclude(lookup_condition) diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index cb77048fe1..8ccacd6213 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -1146,12 +1146,12 @@ class ModelAdmin(BaseModelAdmin): for bit in smart_split(search_term): if bit.startswith(('"', "'")) and bit[0] == bit[-1]: bit = unescape_string_literal(bit) - or_queries = models.Q( - *((orm_lookup, bit) for orm_lookup in orm_lookups), - _connector=models.Q.OR, + or_queries = models.Q.create( + [(orm_lookup, bit) for orm_lookup in orm_lookups], + connector=models.Q.OR, ) term_queries.append(or_queries) - queryset = queryset.filter(models.Q(*term_queries)) + queryset = queryset.filter(models.Q.create(term_queries)) may_have_duplicates |= any( lookup_spawns_duplicates(self.opts, search_spec) for search_spec in orm_lookups |
