Метод Django для возврата словарного значения из полезной нагрузки запроса
У меня есть класс сериализатора следующего вида
class HousingSerializer(serializers.ModelSerializer[Housing]):
class Meta:
model = Housing
fields = "__all__"
depth = 1
с полезной нагрузкой запроса [{"id":"1234","created_at":"2022-05-20T15:55:43.611922Z","updated_at":"2022-05-20T15:55:43.611938Z","status":"pending"}]%
Я хочу создать метод, который при задании параметра Housing 'id' должен возвращать статус из полезной нагрузки, в данном случае он должен возвращать статус 'pending'.
Думаю, вы можете использовать функцию API View.
from rest_framework.decorators import permission_classes, api_view
from rest_framework.permissions import AllowAny
@api_view(["GET"])
@permission_classes([AllowAny])
def get_status(request, id):
try:
housing = Housing.objects.get(pk=id)
return Response({status: housing.status})
except Housing.DoesNotExist:
return Response(status=status.HTTP_400_BAD_REQUEST)
В urls.py вы можете добавить метод API.
urlpatterns = [
...
path('housings/<int:id>', get_status, name="get_housing_status")
]
Надеюсь, это может помочь.