【Django】first()方法

first():
返回queryset中匹配到的第一个对象,如果没有匹配到对象则为None,如果queryset没有定义排序,则按主键自动排序。

all[0]:
与first不同,如果没有匹配到,会报IndexError错误。

first()是一个很方便的代码,相当于下面的代码:

try:
    p = Article.objects.order_by('title', 'pub_date')[0]
except IndexError:
    p = None

 


first源码为:

   
def first(self):
        """
        Returns the first object of a query, returns None if no match is found.
        """
        objects = list((self if self.ordered else self.order_by('pk'))[:1])
        if objects:
            return objects[0]
        return None

 


last()返回最后一个,同first()

posted @   王广元  阅读(663)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
分享到:
点击右上角即可分享
微信分享提示