我正在尝试运行Django查询,将返回的结果限制为5个项目。这很简单,但查询不会总是返回5个项目。在这种情况下,像这样的语句(我的代码)失败了:
users = User.objects.filter(username__istartswith = name)[5].only('Person__profile_picture', 'username')
如果查询只返回单个结果,则会得到索引超出范围错误。有没有办法指示Django给我最多5个结果而不会让我崩溃?标准解决方案是将所有内容包装在try块中吗?或者我是否需要编写原始SQL查询来完成此任务?
答案 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’)