Django限制查询

时间:2012-10-01 05:05:17

标签: python django

我正在尝试运行Django查询,将返回的结果限制为5个项目。这很简单,但查询不会总是返回5个项目。在这种情况下,像这样的语句(我的代码)失败了:

 users = User.objects.filter(username__istartswith = name)[5].only('Person__profile_picture', 'username')

如果查询只返回单个结果,则会得到索引超出范围错误。有没有办法指示Django给我最多5个结果而不会让我崩溃?标准解决方案是将所有内容包装在try块中吗?或者我是否需要编写原始SQL查询来完成此任务?

2 个答案:

答案 0 :(得分:11)

与doc:https://docs.djangoproject.com/en/dev/topics/db/queries/#limiting-querysets

一样

例如,这将返回前5个对象(LIMIT 5):

Entry.objects.all()[:5]

答案 1 :(得分:-2)

users=User.objects.filter(username__istartswith=name)        
[:5].values(‘Person__profile_picture’,’username’)