8

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

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

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

4

2 回答 2

17

如文档:https ://docs.djangoproject.com/en/dev/topics/db/queries/#limiting-querysets

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

Entry.objects.all()[:5]
于 2012-10-01T05:08:45.433 回答
-2
users=User.objects.filter(username__istartswith=name)        
[:5].values(‘Person__profile_picture’,’username’)
于 2020-02-04T07:25:17.660 回答