2014-02-27 77 views
0

我正在構建一個公開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()中寫入的確切代碼嗎?

由於

回答

相關問題