Django 查詢集---字段查詢

對sql中where的實現,作爲方法filter(),exclude(),get()的參數
語法: 屬性名稱__比較運算符=值

Person.objects.filter(p_age__gt=18)

條件
屬性__操作符=臨界值
gt
great than

gte
great than equals

lt
less than

lte
less than equals

gt,gte,lt,lte:大於,大於等於,小於小於等於filter(sage__gt=30)

	in
		in:是否包含在範圍內,filter(pk__in=[2,4,6,8])
			單引號可以使用
			
	exact*******
		exact:判斷,大小寫不敏感,filter(isDelete = False)
		
	startswtith
		類似於 模糊查詢 like
		
	endswith
		以 xx 結束  也是like
		
	contains
		contains:是否包含,大小寫敏感,filter(sname__contains='趙')
		
	isnull,isnotnull
		isnull,isnotnull:是否爲空,filter(sname__isnull=False)

**

時間

**

models.DateTimeField(auto_now_add=True)
year
month 會出現時區問題  需要在settings中的USE-TZ中設置爲 False
day
week_day
hour
minute
second
orders = Order.objects.filter(o_time__month=9)
	有坑:時區問題
		關閉django中自定義的時區
			USE-TZ=False
		在數據庫中創建對應的時區表

注意:mysql oracle中所說的聚合函數 多行函數 組函數 都是一個東西 max min avg sum count
聚合函數/組函數/多行函數/高級函數
模型:
class Customer(models.Model):
c_name = models.CharField(max_length=16)
c_cost = models.IntegerField(default=10)
使用:
使用aggregate()函數返回聚合函數的值

  **Avg**:平均值
  **Count**:數量
  **Max**:最大
  **Min**:最小
  **Sum**:求和
  eg:
Student.objects.aggregate(Max('age'))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章