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 tried:
Messages.objects.filter(since=since)[:-10]
And I had an error saying Negative Indexing is not supported.
My current work around is sort ID descending order, and then run:
Messages.objects.filter(since=since)[:10]
But this requires the front end to reverse the order again.
My question is, is there a elegant way to do it?
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With