Как получить определенное количество элементов из базы данных Django - PullRequest
2 голосов
/ 27 августа 2010

У меня есть простой класс:

class BlogPost(models.Model):
    title = models.CharField(max_length=150)
    ...
    timestamp = models.DateTimeField()

Как я могу получить последние пять элементов из базы данных?

Я пытался сделать это:

posts = BlogPost.objects.<any code>

Ответы [ 4 ]

7 голосов
/ 27 августа 2010

Вам нужно потратить некоторое время на чтение The Friggin 'Manual.Django - один из лучших документированных проектов с открытым исходным кодом на планете.

Это именно то, что вы хотите прочитать, Ограничение QuerySets , но вам действительно нужно прочитать всю страницу (инесколько других), если вы собираетесь сделать что-то значимое с Джанго.

1 голос
/ 27 августа 2010
BlogPost.objects.order_by('-timestamp')[:5]
0 голосов
/ 27 августа 2010

Я думаю, что сортировка по идентификатору быстрее, чем сортировка по любому другому полю.

0 голосов
/ 27 августа 2010

Вы используете синтаксис нарезки массива для индексации в вашем наборе запросов, и вы используете функцию reverse() для обратного набора запросов перед индексацией, например, myQuerySet.reverse()[:5]. См. документы для более подробной информации.

...