与Django REST框架进行矢量比较

时间:2016-05-08 13:48:07

标签: django django-rest-framework

我是django的新手(以及django休息框架),我有点失落。 我设法按照教程运行我的REST API服务器。我可以发布数据,从我的数据库中获取数据,一切正常,但我在理解如何制作自定义函数时遇到问题。我显然遗漏了一些想法。

我想将一个向量(例如[0,1,1,0,1,0])作为JSON发布,我希望我的服务器从我的数据库中获取所有向量,比较它们然后返回给我相似度得分。

我甚至不知道如何发布一个简单的数字,将其乘以2然后将结果作为JSON返回。有人有一个很好的教程,或者可以解释我如何才能实现这么简单的事情?然后我会自己弄清楚我的矢量对比:)谢谢!

1 个答案:

答案 0 :(得分:0)

我写这篇文章时没有实际测试代码,所以它可能有一些拼写错误或问题,但它应该可以帮助你开始。它显示了如何制作自定义API。在这种情况下,我正在使用一个向量并将每个项目乘以2并返回:

from rest_framework.views import APIView
from rest_framework.parsers import JSONParser

class TestSerializer(serializers.Serializer):
    vector = serializers.ListField(
        child=serializers.IntegerField(min_value=0, max_value=100)
    )


class TestViewSet(APIView):

    #permission_classes = ()

    def post(self, request, format=None):

        data = JSONParser().parse(request)
        serializer = TestSerializer(data=data)

        if serializer.is_valid():
            vector = serializer.data.get('vector')

            new_vector = []
            for item in vector:
                new_vector.append(item*2)

            new_data = {
                'vector': new_vector
            }

            return Response(new_data, status=status.HTTP_201_CREATED)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

希望它能让你走上正确的道路。