我在数据库中有一个“新闻”标题列表,其中包含以下字段:ID、标题、日期。我想获取最新的十个(如果少于十个,则全部检索)。
就像是:
news = News.objects.order_by("date").first(10)
这是你需要做的:
news = News.objects.order_by("-date")[:10]
这里发生了一些有趣的事情。
首先,要获得最新消息,您需要降序。(那是“-date”部分)[0]
第二部分是限制结果集[1]。这与 Python 列表 Slicing[2] 共享相同的接口,但它们是不同的东西。请仔细阅读。
[0] https://docs.djangoproject.com/en/dev/ref/models/querysets/#order-by
[1] https://docs.djangoproject.com/en/dev/topics/db/queries/#limiting-querysets
我的解决方案
返回的对象实际上是一个列表。通过使用 python 列表索引,我们可以获得任意数量的对象。下面添加的示例。
'productobj = product_master.objects.all()[0:20]`