Str*_*est 5 django concatenation django-queryset slice
有没有办法连接切片查询集?它的简化示例(我意识到这个特定的例子可以写在一个查询中):
>>> ...
>>> query_set_1 = Model.objects.filter(...)[:3]
>>> query_set_2 = Model.objects.filter(...)[5:]
>>> query_set_1 | query_set_2
Run Code Online (Sandbox Code Playgroud)
不去工作,
>>> AssertionError: Cannot combine queries once a slice has been taken.
Run Code Online (Sandbox Code Playgroud)
有什么建议?谢谢!
Ign*_*ams 12
itertools.chain()不会.但是允许您按顺序遍历两个查询集.
qiter = itertools.chain(query_set_1, query_set_2)
Run Code Online (Sandbox Code Playgroud)
您可以使用union()组合两个切片的查询集。像这样:
query_set_1 = Model.objects.filter(...)[:3]
query_set_2 = Model.objects.filter(...)[5:]
queryset = query_set_1.union(query_set_2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3955 次 |
| 最近记录: |