<p>我正在构建一个Django应用程序,它公开了一个REST API,用户可以通过它查询我的应用程序的模型。我正在按照指示<a href="http://www.django-rest-framework.org/tutorial/quickstart#testing-our-api"><strong>here</strong></a>。</p>
<p>我的路线在myApp的url.py中如下所示:</p>
<pre><code>from rest_framework import routers
router = routers.DefaultRouter() router.register(r'myObjects/(?P<id>\d+)/?$', views.MyObjectsViewSet)
url(r'^api/', include(router.urls)),
</code></pre>
<p>我的模型是这样的:</p>
<pre><code>class MyObject(models.Model):
name = models.TextField()
</code></pre>
<p>我的序列化程序如下所示:</p>
<pre><code>class MyObjectSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = MyObject
fields = ('id', 'name',)
</code></pre>
<p>我的视图集如下所示:</p>
<pre><code>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)
</code></pre>
<p>当我点击/api/myObjects/60/I时,得到以下错误:</p>
<blockquote>
<p><code>base_name</code> argument not specified, and could not automatically determine the name from the viewset, as it does not have a <code>.model</code> or <code>.queryset</code> attribute.</p>
</blockquote>
<p>我从<a href="http://www.django-rest-framework.org/api-guide/routers"><strong>here</strong></a>了解到,我的路由上需要一个基名称参数。但在文档中,我不清楚这个base_name参数的值应该是什么。有人能告诉我用大本营的名字应该是什么样的路线吗?</p>