Django中filer和get的區別

2021-09-24 15:00:21 字數 1162 閱讀 9218

上面的例子中`` filter()`` 函式返回乙個記錄集,這個記錄集是乙個列表。 相對列表來說,有些時候我們更需要獲取單個的物件, `` get()`` 方法就是在此時使用的:

>>> publisher.objects.get(name="apress")

這樣,就返回了單個物件,而不是列表(更準確的說,queryset)。 所以,如果結果是多個物件,會導致丟擲異常:

>>> publisher.objects.get(country="u.s.a.")

traceback (most recent call last):

...multipleobjectsreturned: get() returned more than one publisher --

it returned 2! lookup parameters were

如果查詢沒有返回結果也會丟擲異常:

>>> publisher.objects.get(name="penguin")

traceback (most recent call last):

...doesnotexist: publisher matching query does not exist.

這個 doesnotexist 異常 是 publisher 這個 model 類的乙個屬性,即 publisher.doesnotexist。在你的應用中,你可以捕獲並處理這個異常,像這樣:

try:

p = publisher.objects.get(name='apress')

except publisher.doesnotexist:

print "apress isn't in the database yet."

else:

print "apress is in the database."

1.django的get方法是從資料庫的取得乙個匹配的結果,返回乙個物件,如果記錄不存在的話,它會報錯。

2.如果你用django的get去取得關聯表的資料的話,而關鍵表的資料如果多於2條的話也會報錯。

3.django的filter方法是從資料庫的取得匹配的結果,返回乙個物件列表,如果記錄不存在的話,它會返回。

4.如果你用django的get去取得關聯表的資料的話,無論關聯表有多少記錄的都不會報錯。

HTTP Request中的post和get區別

1 get是從伺服器上獲取資料,post是向伺服器傳送資料。2 在客戶端,get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單 內各個字段與其內容放置在html header內一起傳送到act...

HTTP Request中的post和get區別

get和post之間的主要區別 1 get是從伺服器上獲取資料,post是向伺服器傳送資料。2 在客戶端,get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各個字段與其內容放置在html ...

MATLAB Handle類的set和get方法

對乙個物件進行 load 時,會呼叫,此時會檢查預設值的合法性。如果想要對輸入引數做更全面的系統檢查,可以使用 validateattributes 函式或者 inputparser 類 classdef a handle properties a end methods function set....