我正在構建一個公開REST API的Django應用程序,用戶可以通過它來查詢我的應用程序的模型。我遵循here的說明。如何使用Django REST框架返回Model對象的自定義列表?
我的模型看起來是這樣的:
class MyObject(models.Model):
name = models.TextField()
我的路線是這樣的對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.ViewSet):
def retrieve(self,request,pk=None):
queryset = MyObjects.objects.get(pk=pk).customMyObjectList()
if not queryset:
return Response(status=status.HTTP_400_BAD_REQUEST)
else:
serializer = MyObjectSerializer(queryset)
return Response(serializer.data,status=status.HTTP_200_OK)
當我打/ API/myObjects/60 /我得到以下錯誤:
`base_name` argument not specified, and could not automatically determine the name from the viewset, as it does not have a `.model` or `.queryset` attribute.
This說,我需要我的路線上BASE_NAME參數。但是從文檔來看,我不清楚base_name參數的值應該是多少。有人可以告訴我,base_name的路線應該是什麼樣子?
的可能重複[?如何建立一個Django的REST的API返回的模式自定義列表(http://stackoverflow.com/questions/22108636/how-to-build-a-django-rest-api-that-returns-a-custom-list-of-models) – almalki