2016-11-30 2 views
1

Dans mon API, j'essaie de créer des points de terminaison où les objets de données sont récupérés s'ils existent et créés s'ils n'existent pas.Django Rest Framework: récupérer un objet ou créer un objet

Question: Comment créer cette fonctionnalité dans une vue unique en utilisant les vues génériques de DjangoRestFramework?

Ce que je suis à la recherche est essentiellement un RetriveCreateAPIView, mais il n'existe pas.

Répondre

0

a résolu le problème en utilisant les classes Mixins:

from rest_framework import generics, mixins 

class MasterDataView(generics.GenericAPIView, mixins.CreateModelMixin, mixins.RetrieveModelMixin): 
    queryset = SomeModel.objects.all() 
    serializer_class = SomeSerializer 

    def post(self, request, *args, **kwargs): 
     return self.create(request, *args, **kwargs) 

    def get(self, request, *args, **kwargs): 
     return self.retrieve(request, *args, **kwargs)