我想向之前在请求中发表评论的用户发送通知。因此,为此目的,我必须找到不同的用户并从该列表中排除当前的评论者(用户)ID。
object_id_list = ScAns.objects.filter(username=username).values_list('id',flat=True)
result-> QuerySet [22]
actionUsers = ScAnsAction.objects.filter(req_id=request_id).values_list('user_id',flat=True).distinct().exclude(id__in=object_id_list)
result-> QuerySet [13,15,22]
最终结果不应包含22.它应该给出[13,15]
答案 0 :(得分:2)
您应该在调用distinct之前进行排除,同时避免根据用户名排除不必要的__in
。
actionUsers = ScAnsAction.objects.filter(req_id=request_id)).exclude(username=username).values_list('user_id',flat=True).distinct()