exper表达式_4

使用QueryTable:

ORM 以 QuerySeter 来组织查询,每个返回 QuerySeter 的方法都会获得一个新的 QuerySeter 对象。

qs := o.QueryTable("user") 表名作为参数

  • exact / iexact:等于,默认值,大小写敏感 / 不敏感

    • qs.Filter("name__exact","Zhiliao").One(&stu) Filter / Exclude / Condition的默认参数

      • where name = "Zhiliao" //where name = binary "Zhiliao"
    • qs.Filter("name__iexact","Zhiliao").One(&stu)

      • WHERE name LIKE 'Zhiliao'
    • 大小写敏感注意点:

      • 大小写是否敏感取决于数据表使用的 collation

      • 查询的时候需要加BINARY

  • contains / icontains:包含,大小写敏感 / 不敏感

    • qs.Filter("name__contains","Zhil").One(&stu)

      • WHERE name LIKE BINARY '%Zhil%'
    • qs.Filter("name__icontains","Zhil").One(&stu)

      • WHERE name LIKE '%Zhil%'
  • gt / gte:大于/大于等于

    • qs.Filter("age__gt",18).One(&stu)

    • qs.Filter("age__gte",18).One(&stu)

  • lt / lte:小于/小于等于

    • qs.Filter("age__lt",18).One(&stu)

    • qs.Filter("age__lte",18).One(&stu)

  • startswith / istartswith:以…起始,大小写敏感 / 不敏感

    • qs.Filter("name__startswith","Zh").One(&stu)

      • WHERE name LIKE BINARY 'Zh%'
    • qs.Filter("name__istartswith","Zh").One(&stu)

      • WHERE name LIKE 'Zh%'
  • endswith / iendswith:以…结束,大小写敏感 / 不敏感

    • qs.Filter("name__endswith","Liao").One(&stu)

      • WHERE name LIKE BINARY '%Liao'
    • qs.Filter("name__iendswith","Liao").One(&stu)

      • WHERE name LIKE '%Liao'
  • in:在某个范围中,值为不定长参数

    • qs.Filter("age__in",12,13,16,19).One(&stu)

    • ids:=[]int{17,18,19,20}

      qs.Filter("age__in", ids)

  • isnull:为空,值为 true / false

    • qs.Filter("gender__isnull",true).One(&stu)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值