2017-02-17 60 views
0

如果我們可以簡單地使用get()獲取數據,那麼__exact查詢查找的需要是什麼。比較__exact和get()

我的意思是__exact在查詢集中有什麼額外的好處?

+0

他們是完全不同的東西,得到一個檢索*單個實例*和'__exact'是查詢的一部分,但並不表示它只能應用於單個實例 – Sayse

回答

0

.get()用於獲取單個實例。當確定queryset返回單個對象時,我們使用get。 如果多個實例存在就會拋出你在控制檯上的錯誤:

get() returned more than one person -- it returned 2! 

一個Person模型一個典型的GET查詢是:

Person.objects.get(id=1) 

但是,__exact使用與查詢集作爲參數檢查。例如: 如果我們有一個模型Person,並且您想查找名稱完全等於「Luv33preet」的所有人員對象。

查詢集因爲這將是:

Person.objects.filter(name__exact="Luv33preet") 

我希望這有助於!

0

兩者沒有可比性都有不同的用途

models.py -

class Model1.py(): 
    name= models.CharField(max_length=1000,null=True) 

views.py(查詢) -

Model1.objects.get(name='RakeshRao') #retrieve single object 
    Model1.objects.get(name__exact='RakeshRao') #part of query same as 'LIKE' in SQL 
+0

這個答案是否清楚了您的概念? –