Lets say I am implementing a message stream, records sort by ID ascending order, each fetch request, I want to only allow to fetch the most latest 10 records.
I trie
If you want last X records sorted in descending order by id , Then I don't think you need since filter
last_ten = Messages.objects.all().order_by('-id')[:10]
Using -id will sort in descending order. Hope this was helpful !!
Or use [::-1]
instead of reversed
:
last_ten = Messages.objects.filter(since=since).order_by('-id')[:10][::-1]
You can pass your queryset to reversed:
last_ten = Messages.objects.filter(since=since).order_by('-id')[:10]
last_ten_in_ascending_order = reversed(last_ten)