Django ORM单表查询 双下滑线的特殊用法

简介

语法作用
gt=1指定int类型字段大于1的
lt=1指定int类型字段小于1的
in=[1,3,5]查询在[1,3,5]中的结果
contains指定字段 包含指定内容的搜索功能时候用!!!
icontains忽略大小写、通常英文搜索用的到
range判断int类型值在哪个区间的
year 或 month 或 day日期和时间 判断
__startswith以…开始搜索功能时候用!!!
__endswith以…结尾搜索功能时候用!!!

实例

    #  查询id大于1 小于4的结果
    ret = models.Person.objects.filter(id__gt=1, id__lt=4)
    print(ret)

    # in 查询id在[1,3,5,]中的结果
    ret = models.Person.objects.filter(id__in=[1,3,5])
    print(ret)

    # not in  不在指定结果中 exclude
    ret = models.Person.objects.exclude(id__in=[1, 3, 5])
    print(ret)

    # contains 获取指定字段 包含指定内容的,做搜索功能时候用!!!
    ret = models.Person.objects.filter(name__contains='小')
    print(ret)

    # icontains 忽略大小写、通常英文搜索用的到

    # range 判断id值在哪个区间的 SQL中的 between and 1<= <=3
    ret = models.Person.objects.filter(id__range=[1,3])  # id 1,2,3
    print(ret)

    # 日期和时间  year 或 month 或 day 都可以
    ret = models.Person.objects.filter(birthday__year=2018)  # 只取 生日中的 年份=2018的
    print(ret)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值