一。table.objects.get()方法是從資料庫的取得乙個匹配的結果,返回乙個物件,如果記錄不存在的話,它會報錯。
而且該方法為完全匹配查詢。若通過該方法進行模糊查詢,會報:doesnotexist: event matching query does not exist.的異常。
舉例:
1.完全匹配查詢
>> e1 = event.objects.get(name='xiaomi')
>> e1
結果:
>>e1.address
結果:u'changanlu'
2.模糊查詢(正確的情況下,會有xiaomi,heimi等)
>> event.objects.get(name='mi')
報錯如下:
traceback (most recent call last):
file "", line 1, in
file "d:\python_install\python2\lib\site-packages\django\db\models\manager.py"
, line 122, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
file "d:\python_install\python2\lib\site-packages\django\db\models\query.py",
line 387, in get
self.model._meta.object_name
doesnotexist: event matching query does not exist.
二。table.objects.filter()方法是從資料庫的取得匹配的結果,返回乙個物件列表,如果記錄不存在的話,它會返回。
該方法可進行模糊查詢
舉例:
>>> event.objects.filter(name__contains='mi') #說明:此處是兩個下劃線。contains 部分會被django 翻譯成like 語句
結果:
[, , ]
Django shell模式測試
django shell模式 互動式終端會話 可以將檢視層 views 以程式設計的形式進行測試。測試可以做的事情 模擬 get 和 post 請求,觀察響應結果 從 http headers,status codes 到頁面內容.檢查重定向鏈 如果有的話 在每一步檢查 url 和 status c...
資料建模方式
提起資料建模來,有一點是首先要強調的,資料建模師和dba有著較大的不同,對資料建模師來說,對業務的深刻理解是第一位的,不同的建模方法和技巧是為業務需求來服務的。而本文則暫時拋開業務不談,主要關注於建模方法和技巧的經驗總結。從目前的資料庫及資料倉儲建模方法來說,主要分為四類。第一類是大家最為熟悉的關聯...
資料儲存方式
最快速的但不可隨意擴充套件 陣列大小確定 array collection list linkedlist arraylist 動態陣列 vector stack set map hashtable hashmap 雜湊表 weakhashmap 可以按照索引查詢 有序 可以包含null值 多個 元...