DJango框架对Models操作

利用DJango框架中Models层的方法对数据库进行操作

根据条件对数据库中的数据做一系列筛选

  • filter()
    这个函数会返回一个包含“满足()中的条件”的查询集。要注意的是()中的判断要用“=”判断,即fliter(a = “something”),不能用 “!=”判断。
    具体用法代码

    DateBase.objects.filter(id = 1)

    则返回了一个id字段为1 的查询集

  • exclude()
    这个函数会返回一个不包含“满足()中的条件”的查询集。与filter相同,它的判断也只能用 “=”
    具体用法代码

    DateBase.objects.exclude(id = 1)

    则返回了一个id字段不为1的查询集

链式用法

  • 当我们要查询的数据需要满足一系列很复杂的条件时,我们可以对数据库进行一系列的筛选
    具体用法代码

    DateBase.objects.filter(name = "cat").exclude( color= "red")

则返回name字段是cat的但color字段不是red的一个查询集。

  • 也可以这样使用
 DateBase.objects.filter(name = "cat",id = 1).exclude( color= "red")

则返回name字段是cat且id字段是1,但color字段不是red的一个查询集。

  • 对exclude也有同样用法。

ps:

不知道是否是笔者使用的框架版本的原因(我用的django是1.7的),在使用exclude方法时

 DateBase.objects.exclude( color= "red",name = "cat")

这样无法返回我想要的那个查询集,所以我这样修改了代码达到了目的。

 DateBase.objects.exclude( color= "red").exclude(name = "cat")

如果你也遇到了这样的情况,不妨试一下这样写你的代码

你可能感兴趣的:(django,filter)