Django,什么是最好的,最快的方式来获得第一个和最后一个元素,Customer.objects.xxxx

时间:2010-09-08 04:49:49

标签: python django django-models

Django,什么是最好的,最快的方式来获取第一个和最后一个元素,Customer.objects.xxxx这样的过滤器,value_list或...

3 个答案:

答案 0 :(得分:10)

可能是大多数pythonic方式:

myset = Customer.objects.filter(<something>).order_by(<something>)
first, last = myset[0], myset.reverse()[0]

答案 1 :(得分:4)

  

什么是最好,最快的方式才能获得第一个和最后一个

让我们看看。

customers = Customer.objects.filter(**conditions)
first = customers.order_by('id')[0]
last = customers.latest('id')

当然如果你可以提出一个SQL查询来执行此操作,它可以使用raw()方法执行。

query = "<your query to get first and last>"
Customer.objects.raw(query)

答案 2 :(得分:0)

我并不完全熟悉django的内部工作方式,但我认为最快的方法是:

elements = Customer.objects.filter(<something>)
first_element = elements[0]
last_element = elements[-1]