Filtering by service provider fails #41

Closed
opened 2025-04-08 14:26:02 +00:00 by tobru · 0 comments
Owner

Description

On the services list, filtering by service providers leads into a 500 internal server error.

Steps to Reproduce

  1. Go to the service listing
  2. Try to filter for cloud provider

Expected Behavior

Filtering works

Actual Behavior

Internal Server Error

Internal Server Error: /org/acme-corp-1/services/
Traceback (most recent call last):
  File "/app/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/django/contrib/auth/mixins.py", line 109, in dispatch
    return super().dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/django/views/generic/base.py", line 143, in dispatch
    return handler(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/django/views/generic/list.py", line 158, in get
    self.object_list = self.get_queryset()
                       ^^^^^^^^^^^^^^^^^^^
  File "/app/src/servala/frontend/views/service.py", line 33, in get_queryset
    services = self.filter_form.filter_queryset(services)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/src/servala/frontend/forms/service.py", line 26, in filter_queryset
    queryset = queryset.filter(
               ^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/django/db/models/query.py", line 1481, in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/django/db/models/query.py", line 1499, in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
  File "/app/.venv/lib/python3.12/site-packages/django/db/models/query.py", line 1506, in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
  File "/app/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1643, in add_q
    clause, _ = self._add_q(q_object, can_reuse)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1675, in _add_q
    child_clause, needed_inner = self.build_filter(
                                 ^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1560, in build_filter
    self.check_related_objects(join_info.final_field, value, join_info.opts)
  File "/app/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1369, in check_related_objects
    self.check_query_object_type(value, opts, field)
  File "/app/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1346, in check_query_object_type
    raise ValueError(
ValueError: Cannot query "Hetzner Cloud": Must be "ServiceOffering" instance.
## Description On the services list, filtering by service providers leads into a 500 internal server error. ## Steps to Reproduce 1. Go to the service listing 2. Try to filter for cloud provider ## Expected Behavior Filtering works ## Actual Behavior Internal Server Error ``` Internal Server Error: /org/acme-corp-1/services/ Traceback (most recent call last): File "/app/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/app/.venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/.venv/lib/python3.12/site-packages/django/views/generic/base.py", line 104, in view return self.dispatch(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/.venv/lib/python3.12/site-packages/django/contrib/auth/mixins.py", line 109, in dispatch return super().dispatch(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/.venv/lib/python3.12/site-packages/django/views/generic/base.py", line 143, in dispatch return handler(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/.venv/lib/python3.12/site-packages/django/views/generic/list.py", line 158, in get self.object_list = self.get_queryset() ^^^^^^^^^^^^^^^^^^^ File "/app/src/servala/frontend/views/service.py", line 33, in get_queryset services = self.filter_form.filter_queryset(services) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/src/servala/frontend/forms/service.py", line 26, in filter_queryset queryset = queryset.filter( ^^^^^^^^^^^^^^^^ File "/app/.venv/lib/python3.12/site-packages/django/db/models/query.py", line 1481, in filter return self._filter_or_exclude(False, args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/.venv/lib/python3.12/site-packages/django/db/models/query.py", line 1499, in _filter_or_exclude clone._filter_or_exclude_inplace(negate, args, kwargs) File "/app/.venv/lib/python3.12/site-packages/django/db/models/query.py", line 1506, in _filter_or_exclude_inplace self._query.add_q(Q(*args, **kwargs)) File "/app/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1643, in add_q clause, _ = self._add_q(q_object, can_reuse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1675, in _add_q child_clause, needed_inner = self.build_filter( ^^^^^^^^^^^^^^^^^^ File "/app/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1560, in build_filter self.check_related_objects(join_info.final_field, value, join_info.opts) File "/app/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1369, in check_related_objects self.check_query_object_type(value, opts, field) File "/app/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1346, in check_query_object_type raise ValueError( ValueError: Cannot query "Hetzner Cloud": Must be "ServiceOffering" instance. ```
tobru added the
bug
label 2025-04-08 14:26:02 +00:00
rixx was assigned by tobru 2025-04-08 14:26:06 +00:00
tobru added this to the Development Planning project 2025-04-09 06:09:33 +00:00
rixx closed this issue 2025-04-09 14:19:51 +00:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: servala/servala-portal#41
No description provided.