django中ORM的查詢語句是什么

django中ORM的查詢語句是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)公司為企業(yè)級客戶提高一站式互聯(lián)網+設計服務,主要包括成都做網站、網站制作、成都外貿網站建設重慶APP開發(fā)公司、小程序設計、宣傳片制作、LOGO設計等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經驗豐富的經驗,可以確保每一個作品的質量和創(chuàng)作周期,同時每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。 

在日常開發(fā)中,數(shù)據(jù)庫的增刪改查(CDUR)中,查詢需求偏多,所以查詢的語法比增刪改操作多得多,尤其是跨表關聯(lián)查詢,可以讓代碼精簡很多。

直接上代碼吧,我是直接在上次寫的的視圖函數(shù)中改寫的。

def orm_test(request):    """    增加操作    """    # 新增一個名字為1901的一個班級,create是新增方法,里面可以接受多個字段參數(shù)    # Class.objects.create(name="1901")    # 同時新增一個學生和班級操作    # 新增一個班級名稱為1903的班級,返回一個班級實例    # cls_instance = Class.objects.get(name="1903")    # stu_info左邊的key要和Student模型字段對應上,因為cls是外鍵,所以要對應一個班級的實例    # stu_info = {    #     "name":"XIAOmei",    #     "age": "24",    #     "score":"88",    #     "email": "1333@qq.com",    #     "introduce": "假如你是xiaomei",    #     "cls": cls_instance    # }    # Student.objects.create(**stu_info)    """    修改操作    """    # 將名字為1901的班級名稱改為1901_xiu,filter為過濾,支持多個參數(shù),update是更新方法,支持多個參數(shù)    # Class.objects.filter(name="1901").update(name="1901_xiu")    """    刪除操作    """    # 將名字為1901_xiu的班級刪除掉,delete是刪除方法    # Class.objects.filter(name="1901_xiu").delete()    """    查詢操作    """    # 查詢單條,get返回實例,如果查詢結果沒有回報錯,    # filter查詢返回的結果是多個實例的列表,    # instance = Student.objects.get(pk=1)    #instance = Student.objects.filter(pk=1).first()
   # 查詢多條,返回queryset類型(多個查詢結果實例的列表) 可以被迭代    # queryset = Student.objects.all() #    # for stu in queryset:                #學生的姓名 學生的年齡 學生的分數(shù)    #     print(stu.name,stu.age,stu.score)
   #對查詢集結果進行切片,取第0個到第4個,和列表的切片一樣    # queryset = Student.objects.filter().all()[:5] # limit 語句    # print(queryset.query) # 返回執(zhí)行的sql語句
   # 精準查找 兩條語句作用一樣,查詢姓名位小美的學生,結果返回查詢集    # queryset = Student.objects.filter(name='小美')    # queryset = Student.objects.filter(name__exact='小美')
   # 忽略大小寫    # queryset = Student.objects.filter(name__iexact='xiaomei')
   # 模糊查詢    # queryset = Student.objects.filter(name__contains='xiao') # 不忽略大小寫    # queryset = Student.objects.filter(name__icontains='xiao') # 忽略大小寫
   # 正則匹配法    # queryset = Student.objects.filter(name__regex='^x')    # queryset = Student.objects.filter(name__iregex='^x')
   # 大于 小于    # queryset = Student.objects.filter(age__gt=17, age__lt=19)
   # in 一個集合中的所有    # queryset = Student.objects.filter(age__in=(18,17,16))
   # queryset = Student.objects.all().order_by('age') 升序    # queryset = Student.objects.all().order_by('-age') #升序    # queryset = Student.objects.all().order_by('-age','id') #升序    # for stu in queryset:    #     print stu.age,stu.id
   # 指定字段查詢    # 第一種    # queryset = Student.objects.values('name','age').all()
   # 第二種    # queryset = Student.objects.values_list('name','age','score').all()
   # 連表查詢    # 第一種    # queryset = Student.objects.all()    # for stu in queryset:    #     print stu.name,stu.cls.id,stu.cls.name
   # 第二種 : 牛逼的雙下劃線(跨表),可以用多個雙下劃線跨多張表    # 語句功能是查詢學生表中所有學生的姓名和學生所在班級的名稱    # cls__name 是cls雙下劃線name,cls 是Student中的cls字段,name是班級表中的name字段    # queryset = Student.objects.values('name','cls__name').all()
   # 查詢一個班級所有學生,執(zhí)行兩次sql語句    # cls1 = Class.objects.get(name='1701')    # queryset = Student.objects.filter(cls=cls1)
   # 查詢一個班級所有學生,執(zhí)行一次sql語句    # queryset = models.Student.objects.filter(cls__name='1903').all().values('name','cls__name')
   # 查詢一個班級所有學生,起始表從班級表開始查詢,反向查詢    # stu_cls 是學生表中外鍵的別名    # queryset = Class.objects.get(name='1903').stu_cls.all()
   # 按照分數(shù)查詢 大于90分    # queryset = Student.objects.filter(score__gt=90).all()
   return HttpResponse('數(shù)據(jù)庫操作成功')

看完上述內容,你們掌握django中ORM的查詢語句是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享題目:django中ORM的查詢語句是什么
文章起源:http://muchs.cn/article44/jejshe.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供外貿網站建設、外貿建站、動態(tài)網站品牌網站制作、品牌網站設計網站設計公司

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網頁設計公司