Closed erwinfeser closed 1 year ago
Hi @erwinfeser ,
Strange that the KeyError
you are seeing is actually expected if the value is not already cached in the field. But as you can see here, that code is inside a try/except
for KeyError
. So wondering how KeyError
got to a point to show you a traceback
@bellini666 this is the traceback. I hope it helps.
Traceback (most recent call last):
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/strawberry_django/fields/field.py", line 174, in get_result
result = attr.related.get_cached_value(source)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/django/db/models/fields/mixins.py", line 15, in get_cached_value
return instance._state.fields_cache[cache_name]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'current_dax'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/graphql/execution/execute.py", line 521, in execute_field
result = resolve_fn(source, info, **args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/strawberry/schema/schema_converter.py", line 660, in _resolver
return _get_result_with_extensions(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/strawberry/schema/schema_converter.py", line 646, in extension_resolver
return reduce(
^^^^^^^
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/strawberry/schema/schema_converter.py", line 641, in wrapped_get_result
return _get_result(
^^^^^^^^^^^^
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/strawberry/schema/schema_converter.py", line 602, in _get_result
return field.get_result(
^^^^^^^^^^^^^^^^^
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/strawberry_django/fields/field.py", line 184, in get_result
return django_getattr(
^^^^^^^^^^^^^^^
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/strawberry_django/resolvers.py", line 146, in django_getattr
return django_resolver(getattr, qs_hook=qs_hook)(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/strawberry_django/resolvers.py", line 102, in inner_wrapper
return f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/strawberry_django/resolvers.py", line 74, in sync_resolver
retval = resolver(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/erwin/.pyenv/versions/api/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py", line 492, in __get__
raise self.RelatedObjectDoesNotExist(
physical.models.RackSlot.current_dax.RelatedObjectDoesNotExist: RackSlot has no current_dax.
Optional field based on reverse Django relation is not working
It works for Car type but it fails for Something type, it can not resolve
car
based on therelated_name
definitionSystem Information
Additional Context
Upvote & Fund