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')