I've had to run a very similar query recently. Something like this (or similar) should work:
def friends(person):
friends = Person.objects.filter(Q(sender__receiver=person, sender__accepted=True) | Q(receiver__sender=person, receiver__accepted=True))
return friends
You can do a join on a related field using the related_name attribute of the M2M Model, like Person.objects.filter(sender__accepted=True)
A "friend" is the other person in the Friendship relation. I.e. if you are the receiver, the friend is the sender, and vice versa. I'd also rename the related names "sender" and "receiver" and prepend "friend", so the above query is clearer.