我有一个在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的工作方式(WHERE
在LIMIT
之前):
Friends.objects.filter(invite_id=77)[:20]
关于python - Django查询中的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28066074/