Skip to main content
 首页 » 编程设计

python之查询中的 Django 问题

2025年05月04日33落叶无声

我有一个在 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]