Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

changing order of django-filter and core api imports in compat #4601

Merged
merged 1 commit into from
Oct 21, 2016
Merged

changing order of django-filter and core api imports in compat #4601

merged 1 commit into from
Oct 21, 2016

Conversation

lukasz-karolewski
Copy link
Contributor

Description

when using with django-filter and rest_framework_swagger need to import coreapi before django-filter as django filter tries to load rest_framework.coreapi which is undefined at this point

when using with django-filter and rest_framework_swagger need to import coreapi before django-filter as django filter tries to load rest_framework.coreapi which is undefined at this point
@tomchristie tomchristie added this to the 3.5.1 Release milestone Oct 20, 2016
@rpkilby
Copy link
Member

rpkilby commented Oct 20, 2016

See also carltongibson/django-filter#525, carltongibson/django-filter#526.

Additionally, if django_filters is in your INSTALLED_APPs, try removing it as it isn't necessary.

@tomchristie
Copy link
Member

Great stuff, thanks!

@rdooda
Copy link

rdooda commented Jan 27, 2023

I try this but I can't resolve my issue.it's getting some
coreapi must be installed for schema support.

@Natgho
Copy link

Natgho commented Jun 20, 2023

The problem still persists.

@auvipy
Copy link
Member

auvipy commented Jun 21, 2023

core API is deprecated now

@jaweherbensalah
Copy link

Any updates pls? I am facing the same problem after adding
RUN apk add gettext
to my dockerfile

@cn-atlas
Copy link

pip install --upgrade Django djangorestframework django-filter drf-yasg especially django-filter worked for me.

@skamansam
Copy link

I just got this today, and am still getting it after upgrade.

Django == 4.2.3
django-filter == 23.2
djangorestframework == 3.14.0
drf-yasg == 1.21.6

my error is such:

  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/views.py", line 94, in get
    schema = generator.get_schema(request, self.public)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/generators.py", line 276, in get_schema
    paths, prefix = self.get_paths(endpoints, components, request, public)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/generators.py", line 482, in get_paths
    operation = self.get_operation(view, path, prefix, method, components, request)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/generators.py", line 524, in get_operation
    operation = view_inspector.get_operation(operation_keys)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/inspectors/view.py", line 33, in get_operation
    query = self.get_query_parameters()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/inspectors/view.py", line 293, in get_query_parameters
    natural_parameters = self.get_filter_parameters() + self.get_pagination_parameters()
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/inspectors/base.py", line 428, in get_pagination_parameters
    return self.probe_inspectors(self.paginator_inspectors, 'get_paginator_parameters',
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/inspectors/base.py", line 110, in probe_inspectors
    result = method(obj, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/inspectors/query.py", line 22, in get_paginator_parameters
    fields = paginator.get_schema_fields(self.view)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/rest_framework/pagination.py", line 313, in get_schema_fields
    assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`'
           ^^^^^^^^^^^^^^^^^^^
AssertionError: coreapi must be installed to use `get_schema_fields()`

Traceback (most recent call last):
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/django/contrib/staticfiles/handlers.py", line 80, in __call__
    return self.application(environ, start_response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/django/core/handlers/wsgi.py", line 124, in __call__
    response = self.get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/django/core/handlers/base.py", line 140, in get_response
    response = self._middleware_chain(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/django/core/handlers/exception.py", line 57, in inner
    response = response_for_exception(request, exc)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/django/core/handlers/exception.py", line 140, in response_for_exception
    response = handle_uncaught_exception(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/django/core/handlers/exception.py", line 181, in handle_uncaught_exception
    return debug.technical_500_response(request, *exc_info)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/django_extensions/management/technical_response.py", line 40, in null_technical_500_response
    raise exc_value.with_traceback(tb)
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view
    return view_func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/views.py", line 94, in get
    schema = generator.get_schema(request, self.public)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/generators.py", line 276, in get_schema
    paths, prefix = self.get_paths(endpoints, components, request, public)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/generators.py", line 482, in get_paths
    operation = self.get_operation(view, path, prefix, method, components, request)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/generators.py", line 524, in get_operation
    operation = view_inspector.get_operation(operation_keys)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/inspectors/view.py", line 33, in get_operation
    query = self.get_query_parameters()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/inspectors/view.py", line 293, in get_query_parameters
    natural_parameters = self.get_filter_parameters() + self.get_pagination_parameters()
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/inspectors/base.py", line 428, in get_pagination_parameters
    return self.probe_inspectors(self.paginator_inspectors, 'get_paginator_parameters',
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/inspectors/base.py", line 110, in probe_inspectors
    result = method(obj, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/drf_yasg/inspectors/query.py", line 22, in get_paginator_parameters
    fields = paginator.get_schema_fields(self.view)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/.pyenv/versions/3.11.2/lib/python3.11/site-packages/rest_framework/pagination.py", line 313, in get_schema_fields
    assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: coreapi must be installed to use `get_schema_fields()`

@jaweherbensalah
Copy link

@skamansam try replacing this version drf-yasg == 1.21.6 with this drf-yasg == 1.21.4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants