Django學習隨手記(五)

2021-07-10 09:59:44 字數 730 閱讀 5115

django中用fliter是查詢多條資料,get是獲取一條資料。兩者返回的資料格式也有一定的差異。

查詢時,一條等於條件非常好寫,例如寫為get(id=1)或者filter(id=1)等,而大於等於,小於等於,in等條件則要寫成其他的方式。以下是查詢時所用的條件的一些整理:

__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

要是有多個條件且為「與」,則可以寫成」.filter(條件一).filter(條件二)」,以此類推。

Django學習隨手記(三)

除了自定義標籤 tag django中還有自定義過濾器 filter 相比較於tag,filter就簡單的多了。同樣以隨手記 二 中的時間為例,mytags.py中只需要這樣寫 register.filter name ti to date defti to date format string 將...

Django學習隨手記(四)

今天,在django中呼叫了乙個python指令碼,一直報錯。命令是 home zsc aliecs.py describeinstances,單獨拿出來在伺服器上執行沒有任何問題,但是在django中呼叫則一直報錯,非常糾結!錯誤如圖 查閱好多資料,最後在中找到了答案,原因在於編碼問題,大家都認為...

Django學習隨手記(六)

django的除錯還是略蛋疼的,form表單提交後在.is valid 這一處檢驗出錯,但是系統不會自動報錯,欄位多的情況下壓根兒就不好判斷。用一下的方法來輸出錯誤的字段資訊 af post assetform request.post,instance asset for field in af ...