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 № 1Wedł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