目前位置: 首页 » Django »正文

django中get方法与filter方法的区别

在django项目中,对数据的获取通常会用到get方法以及filter方法

有时候,这两个东西获取到的都是相同的东西,有时候又会报错,那是什么原因呢?

实际本质上的区别就有一个

get方法获取的是一个对象

filter方法获取到的是一个集合

下面举个例子:

image可以看到结果如下:

image

一个是对象,一个是集合。

那么Posts表如果设有下面这些字段

image

可以像下面这样,获取各字段信息:

如果是get方法获取到的对象,则可以使用:

post.author,post.title,  post.content, post.time, post.category这样

如果是filter方法获取到的集合,则先要遍历,如下

for pp in post2:

    pp.author, pp.title, pp.content, pp.time, pp.category

还有一点需要注意的是

如果get方法获取不到内容,则会报错!

而filter方法获取不到内容时,不会报错,会返回一个空集合。

推荐阅读