假设我有一个查询集数字:
nums = [1,2,3,4,5,6,7,8]
数字1和2的创建者是:user1
数字4、5和6的创建者是:user2
然后我有以下代码:
queryset = nums.objects.all()
queryset = queryset.filter(creator=user1)
queryset = queryset.filter(creator=user2)
为什么它只返回1,2
?
如果我正确理解了文档,则应返回1,2,4,5,6
答案 0 :(得分:0)
尝试以下方式:
queryset = nums.objects.all()
queryset1 = queryset.filter(creator=user1)
queryset2 = queryset.filter(creator=user2)
final_result = queryset1 | queryset2
或使用Q
from django.db.models import Q
queryset = nums.objects.filter(Q(creator=user1) | Q(creator=user2))