我想向之前在请求中发表评论的用户发送通知。因此,为此,我必须找到不同的用户并从该列表中排除当前的评论者(用户)ID。
object_id_list = ScAns.objects.filter(username=username).values_list('id',flat=True)
结果->查询集[22]
actionUsers = ScAnsAction.objects.filter(req_id=request_id).values_list('user_id',flat=True).distinct().exclude(id__in=object_id_list)
结果->查询集[13,15,22]
最终结果不应包含 22。它应该给出 [13,15]
最佳答案
您应该在调用 distinct 之前进行排除,同时避免不必要的 __in
您可以根据用户名排除。
actionUsers = ScAnsAction.objects.filter(req_id=request_id)).exclude(username=username).values_list('user_id',flat=True).distinct()
关于python - Django 查询集与 distinct 和 exclude 一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41802019/