我有一个在Django开发环境下访问数据库的模型。我希望这样做:

Friends.objects.filter(pk__contains=str)[:20].filter(invite_id=77)


但是我得到这个错误:

File "<console>", line 1, in <module>
File "D:\INSTALL\Python\lib\site-packages\django\db\models\query.py", line 691
, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "D:\INSTALL\Python\lib\site-packages\django\db\models\query.py", line 703
, in _filter_or_exclude
"Cannot filter a query once a slice has been taken."


查询一次后,我已经得到了20个项目。为什么不能通过再次查询来获取商品?

注意:我理解该错误,但我想再次查询。肯定不是一个好主意,因为我得到了错误。谁知道更好的方法?

最佳答案

应用过滤器后,您必须限制返回结果的数量。这是SQL的工作方式(WHERELIMIT之前):

 Friends.objects.filter(invite_id=77)[:20]

关于python - Django查询中的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28066074/

10-12 00:22
查看更多