diff options
| author | Simon Charette <charette.s@gmail.com> | 2022-08-30 06:22:33 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-08-30 06:59:55 +0200 |
| commit | 60613ef5162eefbe82ea48f7de6a0c55f9cb8a4e (patch) | |
| tree | d1ff61fc15c1d47482a4d4f37546209873c130c4 /django/db/models/query_utils.py | |
| parent | 411a6ec93a9b21e5ed1e9fc05b34f021288cd10c (diff) | |
Merged nested if statements in select_related_descend().
Diffstat (limited to 'django/db/models/query_utils.py')
| -rw-r--r-- | django/db/models/query_utils.py | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/django/db/models/query_utils.py b/django/db/models/query_utils.py index d566cc1883..6e82edb6e7 100644 --- a/django/db/models/query_utils.py +++ b/django/db/models/query_utils.py @@ -285,14 +285,16 @@ def select_related_descend(field, restricted, requested, load_fields, reverse=Fa return False if not restricted and field.null: return False - if load_fields: - if field.attname not in load_fields: - if restricted and field.name in requested: - msg = ( - "Field %s.%s cannot be both deferred and traversed using " - "select_related at the same time." - ) % (field.model._meta.object_name, field.name) - raise FieldError(msg) + if ( + restricted + and load_fields + and field.name in requested + and field.attname not in load_fields + ): + raise FieldError( + f"Field {field.model._meta.object_name}.{field.name} cannot be both " + "deferred and traversed using select_related at the same time." + ) return True |
