Search code examples
djangodjango-rest-frameworkdjango-rest-viewsets

Register your Django router


When I use route.register without base_name like;

route.register(r'codes', SmsCodeViewset)

An error occurred;

AssertionError: basename argument not specified, and could not automatically determine the name from the viewset, as it does not have a .queryset attribute.

When I use route.register(r'codes', SmsCodeViewset, bose_name="") there is no error, may I ask why?


Solution

  • I was checking my endpoints and I don't have base name in any of them.

    from app import views
    from rest_framework.routers import DefaultRouter
    
    router = DefaultRouter()
    router.register(r'states', views.StateSet)
    
    urlpatterns = [
        url(r'^', include(router.urls)),
    ]
    
    
    class StateSet(viewsets.ModelViewSet):
        queryset = State.objects.all()
        serializer_class = StateSerializer