Django項目 ORM常用的十三種查詢方法


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()

exists(): 查詢表中是否有數據 有就返回True 沒有就是False
publisher = models.Publisher.objects.exists()


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM