有谁知道如何成功地以JSON格式检索模型的对象计数,以及如何配置路由?我正在尝试使用API​​View并返回由JSONRenderer格式化的Response。

更新:

@api_view(['GET'])
@renderer_classes((JSONRenderer, JSONPRenderer))
def InfluenciasCountView(request, format=None):
    influencia_count = Influencia.objects.count()
    content = {'influencia_count': influencia_count}
    return Response(content)

这是我使用的路线:
url(r'^influencias/count/$', views.InfluenciasCountView, name='influencias-count')

最佳答案

checkout this snippet of code(第二个)。如果这不适合您的需要,请添加一些代码(以更好地理解)。

更新

对于路由,DRF为每个 View 提供一个default router。这意味着您可以在urls.py中进行以下配置:(使用上一个链接中的示例)

url(r'^users/count/$', views. UserCountView.as_view(), name='users-count')

然后,当您访问URL your_base_url/users/count/时,您将看到类似于{'user_count': 10}的内容。

更新2

整个代码应如下所示:
class UserCountView(APIView):
    """
    A view that returns the count of active users.
    """
    renderer_classes = (JSONRenderer, )

    def get(self, request, format=None):
        user_count = User.objects.count()
        content = {'user_count': user_count}
        return Response(content)

关于json - Django Rest框架: Retrieving object count from a model,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25151586/

10-09 07:29