django orm 查詢語句

2021-09-18 02:16:26 字數 886 閱讀 3184

model.objects.all()       # 獲取所有物件的queryset

model.objects.filter() # 獲取滿足條件的物件的queryset

model.objects.exclude() # 獲取不滿足條件的物件的queryset

model.objects.get() # 獲取單個符合條件的物件的queryset

person.objects.all().extra(select=)

queryset.distinct() 去重複

__exact 精確等於 like 'aaa'

__iexact 精確等於 忽略大小寫 ilike 'aaa'

__contains 包含 like '%aaa%'

__icontains 包含 忽略大小寫 ilike '%aaa%',但是對於sqlite來說,contains的作用效果等同於icontains。

__gt 大於

__gte 大於等於

__lt 小於

__lte 小於等於

__in 存在於乙個list範圍內

__startswith 以...開頭

__istartswith 以...開頭 忽略大小寫

__endswith 以...結尾

__iendswith 以...結尾,忽略大小寫

__range 在...範圍內

__year 日期欄位的年份

__month 日期欄位的月份

__day 日期欄位的日

__isnull=true/false

Django ORM分組查詢

關鍵字 annotate models後面 什麼就是按什麼分組 eg models.book.objects.annotate 這裡就是按照書籍表每本書來分組 示例 統計每本書的作者數量 res models.book.objects.annotate author num count author...

Django ORM 查詢集介紹

django的orm中存在查詢集的概念。查詢集,也稱查詢結果集 queryset,表示從資料庫中獲取的物件集合。當呼叫如下過濾器方法時,django會返回查詢集 而不是簡單的列表 對查詢集可以再次呼叫過濾器進行過濾,如 bookinfo.objects.filter bread gt 30 orde...

Django ORM基礎操作

jquery dom d1 自動翻譯 document.getelementbyid d1 databases import pymysql 告訴django用pymysql來代替預設的mysqldb pymysql.install as mysqldb mysqldb不支援中py3 class 類...