ORM的单表操作(ORM的14种方法详解)

ORM的API:

  • <1> all(): 查询所有结果
  • <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象
  • <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。
  • <4> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象
  • <5> order_by(*field): 对查询结果排序('-id')
  • <6> reverse(): 对查询结果反向排序
  • <8> count(): 返回数据库中匹配查询(QuerySet)的对象数量。
  • <9> first(): 返回第一条记录
  • <10> last(): 返回最后一条记录
  • <11> exists(): 如果QuerySet包含数据,就返回True,否则返回False
  • <12> values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列
  • <13> values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列
  • <14> distinct(): 从返回结果中剔除重复纪录

下划线查询:

  • __exact: 精确等于,如SQL的like'开发'。 例:filter(job__exact='开发')
  • __iexact: 精确等于并忽略大小写。 例:filter(job__iexact='开发')
  • __contains: 模糊匹配,如SQL的like'%荣耀%'。 例:filter(job__contains='开发')
  • __icontains: 模糊匹配,忽略大小写。 例:filter(job__icontains='开发')
  • __gt: 大于。 例:filter(job__gt=5)
  • __gte: 大于等于。 例:filter(job__gte=5)
  • __lt: 小于。 例:filter(job__lt=5)
  • __lte: 小于等于。 例:filter(job__lte=5)
  • __in: 判断是否在列表内。 例:filter(job__in=[1,2,3])
  • __startswith:以。。。开头。 例:filter(job__startswith='开发')
  • __istartswith:以。。。开头并忽略大小写。 filter(job__istartswith='开发')
  • __endswith: 以。。。结尾。 filter(job__endswith='开发')
  • __iendswith: 以。。。结尾并忽略大小写。 filter(job__iendswith='开发')
  • __range: 在。。。范围内。 filter(job__range='开发')
  • __year: 日期字段的年份。 filter(job__year='2018')
  • __month: 日期字段的月份。 filter(job__month='12')
  • __day: 日期字段的天数。 例:filter(job__day=30)
  • __isnull: 判断是否为空。 例:filter(job__isnull=True/False)

删除:

   对象.delete()  # 删一条

  queryset对象.delete()  # 对象包含多条可以删除

更新:

  Book.objects.filter(title__startswith="py").update(price=120)

posted on   与太阳肩并肩  阅读(91)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示