/ / Django Rest Framework: użycie ModelViewSet do pobrania listy instancji według ich PKs - python, django, django-rest-framework

Django Rest Framework: użycie ModelViewSet do pobrania listy instancji według ich PKs - python, django, django-rest-framework

DRF zapewnia super-użyteczny klasa nazwana Model.views utworzyć interfejs API z podstawowymi działaniami REST i odwzorowaniem modelu Django, używając kilku wierszy kodu, takich jak te:

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

Jeśli dostanę http://myUrl/{pk}/ Otrzymuję dane dotyczące instancji MyObjects identyfikowane przez pk.

Czy istnieje sposób na zwrócenie się do API o zwrócenie listy większej liczby instancji, przekazując listę ich pks w pewnym sensie?

Odpowiedzi:

4 dla odpowiedzi № 1

Według:

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

Możesz zrobić rzeczy takie jak:

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