Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get a specific object in Django Rest Framework

I want to get only one element in a JSON object, from Django Rest Framework.

I got the next code Serializer:

class OneUserSerializer(serializers.ModelSerializer):
    class Meta:
        model = Usuario
        fields = ('usuario', 'nombre', 'apellidos', 'mensajes')

The View Set:

class OneUserViewSet(viewsets.ModelViewSet):
    queryset = Usuario.objects.filter(id = 'Here is the PARAMETER')
    serializer_class = OneUserSerializer

The url:

router.register(r'user', views.OneUserViewSet)

I want to get only one object 'Usuario' passing the id from the url for example url/id_user

like image 500
Cris_Towi Avatar asked Oct 20 '22 09:10

Cris_Towi


1 Answers

If you're using SimpleRouter, then urls will be generated for you:

class OneUserViewSet(viewsets.ModelViewSet):
    queryset = Usuario.objects.all()
    serializer_class = OneUserSerializer

urls.py

from rest_framework import routers

router = routers.SimpleRouter()
router.register(r'user', views.OneUserViewSet)
urlpatterns = router.urls

This will generate the following url (among others):

^users/{pk}/$
like image 127
mariodev Avatar answered Oct 23 '22 00:10

mariodev