【django查询】 model中get和filter的区别

django查询 model中get和filter的区别

之前没怎么用过django的orm,这次用了下,看了下这两个的具体区别

get查询

get查询是一定能查询到的数据且只能查到这一个,如果查询不到或者查询到多个都会返回报错

equity_info = EquityInfo.objects.get(code=single_equity_info['code'])

get方法的文档地址: https://docs.djangoproject.com/en/4.0/ref/models/querysets/#get

如果get()没有找到任何对象,则会引发Model.DoesNotExist异常

如果get()找到多个对象,则会引发Model.MultipleObjectsReturned异常

注:使用get的时候,一定要确保查询的数据具有唯一性

filter查询

查询到的是列表,如果没查询到,也会给个空列表

返回一个新QuerySet的包含与给定查找参数匹配的对象。

equity_info = EquityInfo.objects.filter(code=single_equity_info['code'])
# 取第一个查询对象
first = equity_info[0]

filter方法的文档地址: https://docs.djangoproject.com/en/4.0/ref/models/querysets/#filter

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值