2017-05-13 34 views
0

這是我的get方法:如何爲url參數創建唯一的方法?

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" 
    } 
] 

我想創建一個使用URL http://localhost:8000/data/?data1=12方法來響應得到:

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

我的問題是,我想創建獨特的方法。例如,我們可以使用URL http://localhost:8000/data/?data2="example3"和響應,我們將得到:

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

我不知道這是否可能?什麼是最好的解決方案?我一直在嘗試request.GET,request.GET.get()等,但沒有任何工作。提前致謝。

回答

0

request.GET.get()應該爲你檢索沿的線條sending.Something查詢參數的工作:

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

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

另外,您可以使用正則表達式使用動態URL模式。

+0

但我必須分開做每一件事。也許有一種方法適合所有情況? – wahtdbogh

+0

你的意思是對每種情況都有不同的看法?如果是的話,那麼你的答案就是動態URL模式,例如'xyz.com/data1 /'將數據作爲'{data1:'example'}'和'xyz.com/data2 /'獲取查詢爲'{data2:'還有一些「}」。 –

相關問題