django 中用於取代sql,用於資料表查詢的語法叫做orm查詢集,但是在實用查詢集的時候一般只能通過filter獲取等值屬性,例如:ob.filter(number=3),而一旦使用不等號,就會報錯例如:
q = ob.objects.filter(number > item.number)
nameerror: name 'number' is not defined
或者:
q = ob.objects.filter('number' > 'item.number')
typeerror: 'bool' object is not iterable
但是實際情況上來說,很多時候直接使用不等號會更加方便減少多行**,減少邏輯混亂的風險,而django就提供了過濾器這一選項。
以下便是幾種較常用的選擇器:(帶有ob的表示是物件自帶的屬性)
__exact 精確等於
__iexact 精確等於 忽略大小寫
__contains 包含
q = ob.objects.filter(name__contains='list')
獲取name屬性中包含list字元的資料
__icontains 包含 忽略大小寫,但是對於sqlite來說,contains的作用效果等同於icontains
同上但是忽略大小寫
__gt 大於
q = ob.objects.filter(date__gte=datetime.date.today())
獲取date屬性大於當前時間的資料(時間上的大於應該指的是過去吧)
__gte 大於等於
q = ob.objects.filter(number__gte=3)
獲取number屬性大於3的資料
__lt 小於
q = ob.objects.filter(ob_number__lt=ob_pro_number)
獲取自帶的number屬性值小於自帶的pro_number屬性的資料
__lte 小於等於
__in 存在於乙個list範圍內
q = ob.objects.filter(name__in=lista)
獲取name屬性的值在lista表單中的資料,例如獲取名字在優惠商品名稱陣列中的商品
__startswith 以...開頭
q = ob.objects.filter(name__startswith='ap')
獲取name屬性以ap開頭的資料(大小寫嚴格)
__istartswith 以...開頭 忽略大小寫......效果同上,但是忽略大小寫
__endswith 以...結尾
q = ob.objects.filter(name__startswith='le')
獲取name屬性以le結尾的資料,大小寫嚴格
__iendswith 以...結尾,忽略大小寫......效果同上,但是忽略大小寫
__range 在...範圍內
q = ob.objects.filter(date__range=["2011-01-01", "2011-01-31"])
獲取date屬性值在這個日期之間的資料
__year 日期欄位的年份
q = ob.objects.filter(date__year=2017)
獲取date屬性的年份欄位為2017的資料
__month 日期欄位的月份
q = ob.objects.filter(date__year=4)
獲取date屬性的月份欄位為4的資料
__day 日期欄位的日
q = ob.objects.filter(date__year=20)
獲取date屬性的日期欄位為20的資料
__isnull=true/false
q = ob.objects.filter(name__isnull=true)
獲取name屬性值為空的資料
同時與filter相反的object屬性為exclude
filter表示=,exclude表示!=
將上述語句中的filter替換成exclude將獲得相反的資料
交集選擇器與並集選擇器
交集選擇器 數學中 區域一和區域二共同擁有的部分為區域三,則區域三就為區域一和區域二的交集。css中 標籤一和標籤二相同的部分就為交集選擇器。系統所找到的標籤必須滿足 既有標籤一的特點,也有標籤二的特點。系統找到的標籤為 1 標籤一 id 標籤二 或 2 標籤一 class 標籤二 或 3 標籤 i...
CSS並集選擇器
css並集選擇器也叫群選擇器,是由多個選擇器通過逗號連線在一起的,這些選擇器分別是 標籤選擇器 類選擇器或id選擇器等。在宣告各種css選擇器時,如果某些選擇器的風格完全相同,或者部分相同,便可以利用並集選擇器同時宣告這些風格相同的css選擇器。並集選擇器允許同時給多個選擇器應用同一種樣式。並集選擇...
jquery選擇器及選擇集過濾
選擇器 jquery的選擇器只是用來選擇html頁面當中的標籤,css選擇器是用來選擇標籤並新增樣式,query選擇器的規則和css選擇器的規則一致 jquery length屬性包含jquery 物件中元素的數目,length屬性可以用來判斷標籤是否被選中 lang en charset utf ...