如何为url参数创建唯一的方法?

时间:2017-05-13 16:50:30

标签: python json django url parameters

这是我的获取方法:

if request.method == 'GET':
        myObject = myObjectClass.objects.all()
        serializer = myObjectSerializer(myObject, many=True)
        return Response(serializer.data)

让我们假设响应以这种方式看待:

[
  {
    "id": 1,
    "data1": 12,
    "data2": "example1"
  },
  {
    "id": 2,
    "data1": 11,
    "data2": "example3"
  },
  {
    "id": 3,
    "data1": 12,
    "data2": "example3"
  }
]

我想使用网址http://localhost:8000/data/?data1=12创建方法以获得响应:

 [
      {
        "id": 1,
        "data1": 12,
        "data2": "example1"
      },
      {
        "id": 3,
        "data1": 12,
        "data2": "example3"
      }
 ]

我的问题是我想创建独特的方法。例如,我们可以使用网址http://localhost:8000/data/?data2="example3",作为回应我们会得到:

 [
          {
            "id": 2,
            "data1": 11,
            "data2": "example3"
          },
          {
            "id": 3,
            "data1": 12,
            "data2": "example3"
          }
     ]

我想知道这是否可行?什么是最好的解决方案?我一直在尝试request.GET,request.GET.get()等,但没有任何作用。提前谢谢。

1 个答案:

答案 0 :(得分:0)

request.GET.get()应该适用于检索您要发送的查询参数。以下内容:

if request.GET.get('data1'):
    print request.GET.get('data1')

if request.GET.get('data2'):
    print request.GET.get('data2')

或者,您可以使用正则表达式使用动态网址格式。