日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django中的F对象和Q对象

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django中的F对象和Q对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

F對象

  • 可以獲取到自己的屬性值
  • 實現自己的屬性自己的屬性關聯的復雜條件
  • 支持運算

Q對象

  • Q對象實際上是對條件的一個封裝
  • 封裝后支持邏輯運算
  • 與或非
    • &
    • |
    • ~
  • 支持嵌套

例子

from django.db.models import Max, Avg, F, Q from django.http import HttpResponse from django.shortcuts import renderfrom App.models import Jor, Grade, Newsdef get_jors(request):# jors = Jor.objects.filter(news__n_content__contains="NBA").distinct("j_name")# 想要實現去重jors = Jor.objects.filter(news__n_content__contains="NBA")# jors 四個對象 兩個1 兩個3jor_list = list()for jor in jors:# print(id(jor))if jor not in jor_list:jor_list.append(jor)return render(request, "JorList.html", context=locals())def get_age(request):result = Jor.objects.aggregate(Avg("j_age"))print(result)return HttpResponse("獲取最大年齡成功")def get_grade(request):# grades = Grade.objects.filter(g_girl_num__gt=F("g_boy_num") + 25)# grades = Grade.objects.filter(g_girl_num__gt=1).filter(g_girl_num__lt=20)# grades = Grade.objects.filter(Q(g_girl_num__gt=1) & Q(g_girl_num__lt=20))# grades = Grade.objects.filter(g_girl_num__lt=1).filter(g_girl_num__gt=20)# grades = Grade.objects.exclude(g_girl_num__gte=1).exclude(g_girl_num__lte=20)grades = Grade.objects.filter(Q(g_girl_num__lt=1) | Q(g_girl_num__gt=20))return render(request, "GradeList.html", context=locals())```

總結

以上是生活随笔為你收集整理的Django中的F对象和Q对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。