上面的例子中`` 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")這個 doesnotexist 異常 是 publisher 這個 model 類的乙個屬性,即 publisher.doesnotexist。在你的應用中,你可以捕獲並處理這個異常,像這樣:traceback (most recent call last):
...doesnotexist: publisher matching query does not exist.
try:1.django的get方法是從資料庫的取得乙個匹配的結果,返回乙個物件,如果記錄不存在的話,它會報錯。p = publisher.objects.get(name='apress')
except publisher.doesnotexist:
print "apress isn't in the database yet."
else:
print "apress is in the database."
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....