ДРФ забезпечує: суперкорисний клас називається 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