Я создаю приложение Django, которое предоставляет REST API, с помощью которого пользователи могут запрашивать мои модели приложений. Я следую инструкциям здесь
Мой маршрут выглядит так в mySites url.py:
router.register(r'myObjects', views.MyObjectsViewSet)
....
url(r'^api/', include(router.urls)),
Мой сериализатор выглядит так:
class MyObjectSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = MyObject
fields = ('id', 'name',)
My Viewset выглядит так:
class MyObjectsViewSet(viewsets.ModelViewSet):
queryset = MyObjects.objects.all()
serializer_class = MyObjectSerializer
Когда я нахожусь в API/api/myObjects/, он дает мне список всех моделей myObject. Когда я попадал в API/api/myObjects/60/, он дает мне только myObject с id == 60. Отлично!
Однако я хочу изменить логику MyObjectsViewSet(), чтобы я мог манипулировать/изменять то, что он возвращает, когда я нажимаю /api/myObjects/ 60/. Поэтому вместо выполнения MyObjects.objects.all() Я хочу сделать что-то более сложное на основе идентификатора myObject 60. Но как я могу это сделать? В этом представлении, как я могу захватить это число 60? Это не аргумент. Но мне это действительно нужно!