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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值