【Django】first()方法
first():
返回queryset中匹配到的第一个对象,如果没有匹配到对象则为None,如果queryset没有定义排序,则按主键自动排序。
all[0]:
与first不同,如果没有匹配到,会报IndexError错误。
first()是一个很方便的代码,相当于下面的代码:
first源码为:
last()返回最后一个,同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()