我有一个在 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条了。为什么再次查询获取不到item?
注意:我理解错误,但我想再次查询。这肯定不是一个好主意,因为我得到了错误。谁知道更好的方法?
请您参考如下方法:
应用过滤器后,您必须限制返回结果的数量。这就是 SQL 的工作原理(WHERE 在 LIMIT 之前):
Friends.objects.filter(invite_id=77)[:20]
