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