/ / Django Rest Framework: utilisation de ModelViewSet pour obtenir une liste d'instances par leurs PK - python, django, django-rest-framework

Django Rest Framework: utilisation de ModelViewSet pour obtenir une liste d'instances par leurs PK - python, django, django-rest-framework

DRF fournit un super utile classe appelée Model.views pour créer une API avec des actions REST de base et le mappage de Django Model, en utilisant quelques lignes de code comme celles-ci:

class MyObjectsViewSet(viewsets.ModelViewSet):
"""
A simple ViewSet for viewing and editing instances.
"""
queryset = MyObjects.all()
serializer_class = MyObjectsSerializer

Si j'obtiens http://myUrl/{pk}/ J'obtiens des données sur l'instance MyObjects identifiée par pk.

Est-il possible de demander à l’API de renvoyer une liste d’autres instances, en passant la liste de leurss en quelque sorte?

Réponses:

4 pour la réponse № 1

Selon:

http://www.django-rest-framework.org/api-guide/filtering/

Vous pouvez faire des choses comme:

class MyObjectsViewSet(viewsets.ModelViewSet):
"""
A simple ViewSet for viewing and editing instances.
"""
serializer_class = MyObjectsSerializer

def get_queryset(self):
queryset = MyModel.objects.all()
pks = self.request.query_params.get("pks", None)

if pks is not None:
queryset = queryset.filter(pks__in=pks)

return queryset