开发者

Django database query - return the most recent three objects

开发者 https://www.devze.com 2022-12-12 00:55 出处:网络
This can\'t be hard, but... I just need to get the most recent three objects added to my database field.

This can't be hard, but... I just need to get the most recent three objects added to my database field.

So, que开发者_如何学Cry with reverse ID ordering, maximum three objects.

Been fiddling round with

Records.objects.order_by(-id)[:3]
Records.objects.all[:3]

and including an if clause to check whether there are actually three objects:

num_maps = Records.objects.count()
if (num_maps > 3): # etc...

and using reverse() and filter() for a while...

But just can't figure it out! Nothing I do gives the right result and using num_maps feels pretty inelegant. Not getting much joy from the documentation. Can anyone help?!


All you should need is:

Records.objects.all().order_by('-id')[:3]

You need the all() first before the order_by and the argument you pass into order_by should be a string. No need to check if there are actually 3 before running this query because the [:3] will not break if there are less than 3.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号