Django的QuerySets酷毙了!
在本文中我将解释一下QuerySets是什么,它是如何工作的(如果你对它已经熟悉了,你可以直接跳到第二部分),我认为如果可以的话你应该总是返回QuerySets对象,下面让我来谈谈如何做。
QuerySets很酷
QuerySet,本质上是一个给定的模型的对象列表。我说“列表”而不是“组”或更正式的“集合”因为它是有序的。事实上,你可能已经熟悉如何获得QuerySets,因为这就是你调用variousBook.objects.XXX()方法后得到的对象。例如,考虑下面的语句:
Book.objects.all()
all()返回的就是Book实例的一个QuerySet,它正好包括allBookinstances,下面的其他调用你可能已经知道:
# Return all books published since 1990
Book.objects.filter(year_published__gt=1990)
# Return all books *not* written by Richard Dawkins
Book.objects.exclude(author='Richard Dawkins')
# Return all books, ordered by author name, then
# chronologically, with the newer ones first.
Book.objects.order_by('author', '-year_published')
关于 QuerySet s最酷的是,由于这些函数操作、返回的都是一个QuerySe