How to fix " AttributeError at /api/doc 'AutoSchema' object has no attribute 'get_link' " error in Django

Tim picture Tim · Aug 26, 2019 · Viewed 11.7k times · Source

We are practicing an example of REST API on the Internet.

However, the following error occurred.

I tried a way in this link, but the situation hasn't changed.

why swagger raises unclear error - Django

from django.contrib import admin
from django.conf.urls import url, include
from rest_framework import routers
from rest_framework_swagger.views import get_swagger_view

import consumer.api

app_name = 'consumer'

router = routers.DefaultRouter()
router.register('consumers', consumer.api.ConsumerViewSet)

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^api/doc', get_swagger_view(title='Rest API Document')),
    url(r'^api/v1/', include((router.urls, 'consumer'), namespace='api')),
]
Exception Type: AttributeError at /api/doc
Exception Value: 'AutoSchema' object has no attribute 'get_link'

Answer

Omkar picture Omkar · Sep 19, 2019

It worked for me, When I added below into Settings.py

REST_FRAMEWORK = { 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema' }