/ / Django Rest Framework: використовуючи ModelViewSet для отримання списку екземплярів за їх ПК - python, django, django-rest-frame

Django Rest Framework: використовуючи ModelViewSet, щоб отримати список випадків їх PKs - python, django, django-rest-framework

ДРФ забезпечує: суперкорисний клас називається Model.views створити API з основними діями REST та зіставити модель Django, використовуючи декілька рядків коду, таких як:

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

Якщо я отримаю http://myUrl/{pk}/ Я отримую дані про екземпляр MyObjects, ідентифікований користувачем pk.

Чи є спосіб попросити API повернути список більше екземплярів, передавши список їх pkс якимось чином?

Відповіді:

4 для відповіді № 1

Згідно з:

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

Ви можете робити такі речі, як:

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