Django專案 ORM常用的十三種查詢方法
阿新 • • 發佈:2022-04-04
all():查詢所有的結果
示例:
publisher = models.Publisher.objects.all() #查詢所有的出版社資訊
get():
publisher = models.Publisher.objects.get(id = 1) # get查詢資料不存在時會保錯
filter():
publisher = models.Publisher.objects.filter(id = 1) #不存在的時候返回一個空的Queryset 不會報錯
publisher = models.Publisher.objects.filter(id = 1)[0] #就算查詢的結果只有一個 返回的也是一個Queryset 列表 要用索引的方式取出第一個元素
exclude():
publisher = models.Publisher.objects.exclude(id = 1) #排除掉id等於1的資料
values():
publisher = models.Publisher.objects.values("name","type") #返回一個Queryset物件 裡面全是字典 為空的話 預設查出所有資料
values_list():
publisher = models.Publisher.objects.values_list("name") # 返回一個Queryset物件 裡面全是列表為空的話 預設查出所有資料
order_by():
publisher = models.Publisher.objects.all().order_by("time") #根據xxx排序
reverse(): #反轉
publisher = models.Publisher.objects.all().order_by("time") .reverse() #只能對有序的Queryset 進行反轉
count(): 返回Queryset中物件的數量
publisher = models.Publisher.objects.all().count()
frist(): 返回Queryset中第一個物件
publisher = models.Publisher.objects.all().frist()
last():返回Queryset中最後一個物件
publisher = models.Publisher.objects.all().last()
ecists(): 查詢表中是否有資料 有就返回True 沒有就是False
publisher = models.Publisher.objects.exists()