溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python Django中models進(jìn)行模糊查詢(xún)的示例

發(fā)布時(shí)間:2020-10-20 14:08:07 來(lái)源:腳本之家 閱讀:148 作者:gracesyuan 欄目:開(kāi)發(fā)技術(shù)

多個(gè)字段模糊查詢(xún), 括號(hào)中的下劃線(xiàn)是雙下劃線(xiàn),雙下劃線(xiàn)前是字段名,雙下劃線(xiàn)后可以是icontains或contains,區(qū)別是是否大小寫(xiě)敏感,豎線(xiàn)是或的意思

#搜索功能
@csrf_exempt#使用@csrf_exempt裝飾器,免除csrf驗(yàn)證
def search_testCaseApi(request):
  if request.method == 'POST':
    name = request.POST.get('task_name')
    updateUser=request.POST.get('task_updateUser')
    if name=="" and updateUser=="":
      obj_all = tnw_test_case_api.objects.filter(del_flag=0)
    elif name!="" and updateUser=="":
      obj_all = tnw_test_case_api.objects.filter(del_flag=0,case_name__contains=name)
    elif name=="" and updateUser!="":
      obj_all = tnw_test_case_api.objects.filter(del_flag=0,update_user__contains=updateUser)
    else:
      obj_all = tnw_test_case_api.objects.filter(del_flag=0,case_name__contains=name,update_user__contains=updateUser)
    ApiCasesList = []
    for li in obj_all:
      need_interfacename = allFunction().get_interfaceName(li.id)
      api_list, api_sum = allFunction().testIDConnect_needid(li.id)
      if li.case_module is not None:
        ApiCasesList.append({
          "testCaseApi_id": li.id,
          "testCaseApi_name": li.case_name,
          "testCaseApi_sum": api_sum,
          "testCaseApi_version": li.case_version,
          "testCaseApi_module": li.case_module,
          "testCaseApi_need_interfacename": need_interfacename,
          "testCaseApi_createTime": str(li.create_time),
          "testCaseApi_updateTime": str(li.update_time),
          "testCaseApi_updateUser": li.update_user,
        })
      else:
        ApiCasesList.append({
          "testCaseApi_id": li.id,
          "testCaseApi_name": li.case_name,
          "testCaseApi_sum": 1,
          "testCaseApi_version": li.case_version,
          "testCaseApi_module": li.case_module,
          "testCaseApi_need_interfacename": need_interfacename,
          "testCaseApi_createTime": str(li.create_time),
          "testCaseApi_updateTime": str(li.update_time),
          "testCaseApi_updateUser": li.update_user,
        })
    # 將int類(lèi)型使用dumps()方法轉(zhuǎn)為str類(lèi)型
    ApiCasesList_len = json.dumps(len(ApiCasesList))
    # 構(gòu)造一個(gè)字典
    json_data_list = {'rows': ApiCasesList, 'total': ApiCasesList_len}
    # dumps()將字典轉(zhuǎn)變?yōu)閖son形式,
    easyList = json.dumps(json_data_list)
    # 將json返回去,json的鍵值對(duì)中的鍵需要與前臺(tái)的表格field=“X”中的X名稱(chēng)保持一致)
    return HttpResponse(easyList)

以上這篇python Django中models進(jìn)行模糊查詢(xún)的示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI