QuerySet與QueryDict比較

QuerySet,本質上是一個給定的模型的對象列表,雖然名字中帶有set,剛開始會讓我覺得其性質應該和集合有些許聯繫,但是就像Java和javascript那樣,就是徹徹底底兩種不同的語言,爲什麼說他是對象列表而不是像其名字那樣的集合呢,因爲它是有序的,並且表現形式上也更像是一個列表

<QuerySet [<Cus: Cus object>, <Cus: Cus object>]>

對於QuerySet最爲神奇的就是,可以將返回的QuerySet鏈起來形成一串連續的查詢

Book.objects.filter(year_published__gt=1990) 
            .exclude(author='Richard Dawkins') 
            .order_by('author', '-year_published')

並且也可以像列表那樣,通過index去獲取所需的第幾條信息,當然使用遍歷去獲取其中的每一條信息也是沒問題的.

QueryDict是HttpRequest獲取的對象,GET和POST屬性是django.http.QuertDict類的實例,數據結構類似於字典,以鍵值對的形式存在,但是和字典最大的區別就是,QueryDict允許存在相同的鍵.

{'info':['zsb', 111]}

QueryDict中數據獲取方式可以像字典那種使用dict[‘info’]或者dict.get(‘info’),不過需要注意的是,如果存在一鍵對於多值,使用get只會獲得最後一個值,如果想要獲取所有的值就需要使用

dict.getlist('info')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章