如何在空列表中使用"__in "来选择所有的ID?

问题描述 投票:0回答:1

例如,如果我必须选择特定的id,我可以用"__in "来做。id_list=[1,4,7]

Blog.objects.filter(pk__in=id_list)

但问题是 id_list 是通过在前端选择的过滤器来填充的,所以最初的时候 id_list 将是空的(id_list=[])

那么,有没有一种方法来选择所有的ID,用 Blog.objects.filter(pk__in=id_list)id_list 是空的?

django-rest-framework django-queryset drf-queryset
1个回答
1
投票

你可以这样做

if len(id_list) == 0:
     queryset = Blog.objects.all()
else:
     queryset = Blog.objects.filter(pk__in=id_list)
© www.soinside.com 2019 - 2024. All rights reserved.