Django中QuerySet的結果是否為空的判斷

2022-08-10 19:21:16 字數 688 閱讀 8985

目錄

有時需要對queryset的結果是否為空進行判斷,那麼不(方便)使用django自帶的方式情況下,如何進行判斷呢,又有多少種方式呢?

一共有三種方式,接下來通過簡單例項予以一一介紹。其中account為自定義model

有如下物件:

user = account.objects.filter(username__exact=username,password__exact=password)

接下來需要對對user進行空值性判斷。

1,exists()

if user.exists(): #return true or false 

print('user exists')

else:

print('user doesnt exist')

2,count()
if user.count()==0: #return the number of objects 

print('user doesnt exist')

else:

print('user exists')

3,直接判斷
if user:

printer('user object(s) exist(s) ')

django 擴充套件 補丁 QuerySet

django get方法預設獲取不到物件就丟擲異常,但是對於處理資料來說,每次都去try catch 會讓我很煩,用過了odoo 覺得django 這點預設很不友好 odoo 獲取不到會返回none 對於這個問題,原諒我api沒看完整 也可以說記憶不深 我馬上想到的是打補丁,去api檢視資料後,發現...

django中queryset的切片是左閉右開嗎

原文 學習老王python的 提高model效率的方法 時,看到分片可以對queryset用,手動試了一下,發現了點特殊的情況。原文建議使用 news news.objects.all 1 10 而非 news news.objects.all news news 1 10 經測試發現,因為quer...

django中queryset的兩大特性

roles roleinfo.objects.all 建立查詢集的時候,是不會訪問資料庫的,直到真正的呼叫資料的時候,才會訪問資料庫,所以 roles roleinfo.objects.all 沒有真正的進行資料庫查詢的,只是建立了乙個資料庫查詢集 呼叫資料,真正的使用資料 1 迭代 2 序列化 3...