iscream
iscream

Reputation: 790

Django Rest Framework AttributeError: 'str' object has no attribute 'get_default_basename'

This is my first time using viewsets and routers. When I run the server, it shows the that error.

Here is the view (inside a file called api.py):

class LeadViewset(viewsets.ModelViewSet):
    queryset = Lead.objects.all()
    permission_classes = [
        permissions.AllowAny
    ]
    serializer_class = LeadSerializer

serializer:

class LeadSerializer(serializers.ModelSerializer):
    class Meta:
        model = Lead
        fields = '__all__'

urls:

from rest_framework import routers
from .api import LeadViewset

router = routers.DefaultRouter
router.register('api/leads', LeadViewset, 'leads')

What am I doing wrong? urlpatterns = router.urls

Upvotes: 0

Views: 941

Answers (2)

Akena Fareal
Akena Fareal

Reputation: 1

Modify your urls.py like this

from rest_framework.routers import DefaultRouter
from .api import LeadViewSet

router = DefaultRouter()
router.register('api/lead',LeadViewSet,'lead')
urlpatterns = router.urls  

Upvotes: 0

Shivam Chaurasia
Shivam Chaurasia

Reputation: 119

Modify:

router = routers.DefaultRouter
router.register('api/leads', LeadViewset, 'leads')

To:

router = routers.DefaultRouter()
router.register('api/leads', LeadViewset, basename='leads')

Upvotes: 3

Related Questions