Django数据库查询 - 返回最近的三个对象

时间:2009-11-18 17:51:14

标签: django django-models

这可能不难,但是......我只需要将最新的三个对象添加到我的数据库字段中。

因此,使用反向ID排序查询,最多三个对象。

正在摆弄

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

并包含一个if子句来检查是否实际存在三个对象:

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

并使用reverse()和filter()一段时间......

但是无法弄明白!我所做的一切都没有给出正确的结果,并且使用num_maps感觉非常不优雅。没有从文档中获得太多的快乐。有人可以帮忙吗?!

1 个答案:

答案 0 :(得分:5)

你需要的只是:

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

你需要在order_by之前的all()和你传递给order_by的参数应该是一个字符串。在运行此查询之前无需检查是否实际有3个,因为如果小于3,[:3]不会中断。