2017-01-23 81 views
4

我想通知發送到誰在請求之前評論的用戶。因此,對於這個目標,我必須找到不同的用戶,並從該列表中排除當前評論者(用戶)的標識。Django的查詢集具有鮮明和排除一起

object_id_list = ScAns.objects.filter(username=username).values_list('id',flat=True) 

result->查詢集[22]

actionUsers = ScAnsAction.objects.filter(req_id=request_id).values_list('user_id',flat=True).distinct().exclude(id__in=object_id_list) 

result->查詢集[13,15,22]

最終的結果應該不包含22。應當得到[13,15 ]

+0

您是否嘗試過在排除之前進行排除? (還,你可以避開'通過只是在做'排除(用戶名=用戶名)'.. __in') – Sayse

+0

感謝,這有助於 –

回答

2

你應該做的排除調用不同的,之前也,以避免不必要的__in您可以根據用戶名只排除。

actionUsers = ScAnsAction.objects.filter(req_id=request_id)).exclude(username=username).values_list('user_id',flat=True).distinct()