我正在構建一個公開REST API的Django應用程序,用戶可以通過它來查詢我的應用程序的模型。我正在按照說明[這裏] [1]。如何根據API參數派生Django查詢集到REST請求?
我想使它在API端點/ api/myObject/60 /被命中時,它應該返回查找ID爲60的myObject,然後返回getCustomMyObjectsList()的值,它是myObject的一個方法。但我一直在圈子裏進行了2-3天的嘗試,想象如何去做。
我的路線是這樣的對myApp的url.py:
from rest_framework import routers
router = routers.DefaultRouter() router.register(r'myObjects/(?P<id>\d+)/?$', views.MyObjectsViewSet)
url(r'^api/', include(router.urls)),
我的串行看起來是這樣的:
class MyObjectSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = MyObject
fields = ('id', 'name',)
我的視圖集中看起來是這樣的:
class MyObjectsViewSet(viewsets.ModelViewSet):
queryset = MyObjects.objects.get(pk=self.kwargs['id']).getCustomMyObjectsList()
serializer_class = MyObjectSerializer
當我hit/api/myObjects/60 /我從Viewset的第一行得到以下錯誤:
name 'self' is not defined
爲什麼??如何在我的視圖中獲取60的ID並使用該ID獲取MyObject? 有人可以告訴我我需要在MyObjectViewSet()中寫入的確切代碼嗎?
由於