django distinct doesn't return just unique fields

django distinct doesn't return just unique fields

I've a models for chat messages with three fields:
sender, recipient ( ForeignKey for User model ) and message as a TextField.
I'm trying to select all unique conversations with either sender either
recipient field (exclude request.user). And I'm a bit messed in how to
implement that.
I've 2 issues:
Message.objects.filter(Q(sender = request.user)|Q(recipient =
request.user)).values('sender').distinct()
doesn't return a list of unique records ( even with order_by ). I've a lot
absolutely the same senders: {'sender': 4L}, {'sender': 4L} (the same is
with recipients).
And the second issue is:
Do I need to concatenate two queysets (for senders and recipients) or
there is another way to get the whole list of conversations for current
request.user?