Django中下劃線的用法介紹(一)

2022-05-10 17:42:10 字數 2828 閱讀 7339

在django中有相當多的操作是通過雙下劃線與動作連線起來使用,為了以後更加方便的查詢和使用,現在總結以下django中基本的雙下劃線操作

比較符:大於--gt  小於--lt 等於--eq  大於等於--gte 小於等於--lte

models.example.objects.filter(id__gt=1)              # 獲取id大於1的值

models.example.objects.filter(id__gte=1) # 獲取id大於等於1的值

models.example.objects.filter(id__lt=10) # 獲取id小於10的值

models.example.objects.filter(id__lte=10) # 獲取id小於10的值

models.example.objects.filter(id__lt=10, id__gt=1) # 獲取id大於1 且 小於10的值

範圍操作符:

包含-- in   在範圍內--range

models.example.objects.filter(id__in=[11, 22, 33])   # 獲取id等於11、22、33的資料

models.example.objects.exclude(id__in=[11, 22, 33]) # not in 實際上是exclude的函式生效

包括--contain

models.example.objects.filter(name__contains="ven")

models.example.objects.filter(name__icontains="ven") # icontains大小寫不敏感

models.example.objects.exclude(name__icontains="ven")

在範圍內--range

models.example.objects.filter(id__range=[1, 2])   # 範圍bettwen 1 and 2

匹配操作符

為空--isnull

entry.objects.filter(pub_date__isnull=true)

字元匹配:startswith,istartswith, endswith, iendswith,  『i代表大小寫不敏感』

類操作符:

對某一類進行排序--order by

models.example.objects.filter(name='seven').order_by('id')    # asc 公升序

models.example.objects.filter(name='seven').order_by('-id') # desc降序

對某一類進行歸類--group by

from django.db.models import count, min, max, sum

models.example.objects.filter(c1=1).values('id').annotate(c=count('num'))

正則匹配 regex iregex(不區分大小寫)

entry.objects.get(title__regex=r'^(an?|the) +')

entry.objects.get(title__iregex=r'^(an?|the) +')

日期相關 date year month day week_day hour minute second

entry.objects.filter(pub_date__date=datetime.date(2017, 1, 1))

entry.objects.filter(pub_date__date__gt=datetime.date(2017, 1, 1))

entry.objects.filter(pub_date__year=2017)

entry.objects.filter(pub_date__year__gte=2017)

entry.objects.filter(pub_date__month=12)

entry.objects.filter(pub_date__month__gte=6)

entry.objects.filter(pub_date__day=3)

entry.objects.filter(pub_date__day__gte=3)

entry.objects.filter(pub_date__week_day=2)

entry.objects.filter(pub_date__week_day__gte=2)

event.objects.filter(timestamp__hour=23)

event.objects.filter(time__hour=5)

event.objects.filter(timestamp__hour__gte=12)

event.objects.filter(timestamp__minute=29)

event.objects.filter(time__minute=46)

event.objects.filter(timestamp__minute__gte=29)

event.objects.filter(timestamp__second=31)

event.objects.filter(time__second=2)

event.objects.filter(timestamp__second__gte=31)

Python中下劃線說明

在python中經常看到方法或者變數前帶有下劃線,稍作解釋。1.前後雙下劃線 mtthod 這一般是系統定義的特殊方法,類似於類的構造方法 init 2.前單下劃線 以單下劃線開頭的變數指的是變數的許可權型別為protected,即是保護許可權的變數,該型別的變數只能通過其本身及子類的例項物件能夠訪...

python中下劃線 的用途

python 用下劃線作為變數字首和字尾指定特殊變數。不能用 from module import 匯入 系統定義名字 類中的私有變數名 核心風格 避免用下劃線作為變數名的開頭。因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下劃線作為變數名的開頭。一般來講,...

文件中下劃線的含義

有時我們並有對文字設定下劃線格式,螢幕上卻出現了下劃線,這可能是由於以下原因 下劃線顏色 原因解決方法 圖例紅色或綠色波形下劃線 當自動檢查拼寫和語法時,word 用紅色波形下劃線表示可能的拼寫錯誤,用綠色波形下劃線表示可能的語法錯誤。對文件進行拼寫和語法檢查。電子郵件頭的紅色 黑色下劃線 word...