graphene-django/graphene_django
Steven DeMartini f67c5dbc8c Revert field resolver logic to fix poor query performance
This reverts the change to `convert_field_to_djangomodel` introduced in
https://github.com/graphql-python/graphene-django/pull/1315 for the
reasons discussed here
https://github.com/graphql-python/graphene-django/pull/1315/files#r1015659857.
As mentioned there, without reverting this code, "queries are forced
every time an object is resolved, making an exponential number of
queries when nesting without any possibility of optimizing".

That regression prevented `graphene-django-optimizer` from working with
`graphene-django` v3.0.0b9+ (where this change first was published), as
discussed in
https://github.com/graphql-python/graphene-django/issues/1356#issuecomment-1284718187,
https://github.com/tfoxy/graphene-django-optimizer/issues/86, and
https://github.com/tfoxy/graphene-django-optimizer/pull/83#issuecomment-1451987397.

For now, this marks the two tests that depended on this problematic code
as "expected to fail", and perhaps they can be reintroduced if there's a
way to support this logic in a way that does not prevent
`select_related` and `prefetch_related` query-optimization and introduce
nested N+1s.

As mentioned here
https://github.com/graphql-python/graphene-django/pull/1315#issuecomment-1468594361,
this is blocking upgrade to graphene-django v3 for many users, and
fixing this would allow many to begin upgrading and contributing to keep
graphene-django going.
2023-05-03 11:37:17 +03:00
..
debug Remove promise based middleware 2023-03-01 11:13:00 +03:00
filter 👷 Add pre-commit (#1336) 2022-10-19 17:10:30 +03:00
forms Fix broken UT due to pytest import error (#1368) 2022-11-14 13:56:18 +03:00
management Fix schema print with -.graphql 2023-04-10 14:52:10 +03:00
rest_framework Fix broken UT due to pytest import error (#1368) 2022-11-14 13:56:18 +03:00
static/graphene_django Update GraphiQL to 2.4.1 2023-04-17 09:17:21 +03:00
templates/graphene Update GraphiQL to 2.4.1 2023-04-17 09:17:21 +03:00
tests Revert field resolver logic to fix poor query performance 2023-05-03 11:37:17 +03:00
utils 👷 Add pre-commit (#1336) 2022-10-19 17:10:30 +03:00
__init__.py ☂️ v3.0.1 ☂️ 2023-04-29 20:26:39 +03:00
compat.py 👷 Add pre-commit (#1336) 2022-10-19 17:10:30 +03:00
conftest.py Make tests order independent (#932) 2020-04-20 13:23:20 +01:00
constants.py WIP: Merge master into v3 (#1086) 2020-12-30 15:37:57 -08:00
converter.py Revert field resolver logic to fix poor query performance 2023-05-03 11:37:17 +03:00
fields.py 👷 Add pre-commit (#1336) 2022-10-19 17:10:30 +03:00
registry.py 👷 Add pre-commit (#1336) 2022-10-19 17:10:30 +03:00
settings.py 👷 Add pre-commit (#1336) 2022-10-19 17:10:30 +03:00
types.py 👷 Add pre-commit (#1336) 2022-10-19 17:10:30 +03:00
views.py Update GraphiQL to 2.4.1 2023-04-17 09:17:21 +03:00