예제 #1
0
    def remove_friend(self, from_user, to_user):
        """ Destroy a friendship relationship """
        try:
            qs = Friend.objects.filter(Q(to_user=to_user, from_user=from_user) | Q(to_user=from_user, from_user=to_user))
            distinct_qs = qs.distinct().all()

            if distinct_qs:
                friendship_removed.send(
                    sender=distinct_qs[0], from_user=from_user, to_user=to_user
                )
                qs.delete()
                bust_cache("friends", to_user.pk)
                bust_cache("friends", from_user.pk)
                return True
            else:
                return False
        except Friend.DoesNotExist:
            return False
예제 #2
0
 def remove_friend(self, to_user, from_user):
     """ Destroy a friendship relationship """
     try:
         qs = (
             Friend.objects.filter(Q(to_user=to_user, from_user=from_user) | Q(to_user=from_user, from_user=to_user))
             .distinct()
             .all()
         )
         if qs:
             friendship_removed.send(sender=qs[0], from_user=from_user, to_user=to_user)
             qs.delete()
             bust_cache("friends", to_user.pk)
             bust_cache("friends", from_user.pk)
             return True
         else:
             return False
     except Friend.DoesNotExist:
         return False
예제 #3
0
    def remove_friend(self, from_user, to_user):
        """ Destroy a friendship relationship """
        try:
            qs = Friend.objects.filter(
                Q(to_user=to_user, from_user=from_user) |
                Q(to_user=from_user, from_user=to_user)
            ).distinct().all()

            friendship_removed.send(
                sender=qs[0],
                from_user=from_user,
                to_user=to_user
            )
            qs.delete()
            bust_cache('friends', to_user.pk)
            bust_cache('friends', from_user.pk)

        except Exception as e:
            e=str(e)
            raise RuntimeError(e)
예제 #4
0
    def remove_friend(self, to_user, from_user):
        """ Destroy a friendship relationship """
        try:
            if from_user.pk < to_user.pk:
                qs = Friend.objects.filter(
                    to_user=to_user, from_user=from_user).distinct().all()
            else:
                qs = Friend.objects.filter(to_user=from_user,
                                           from_user=to_user).distinct().all()

            if qs:
                friendship_removed.send(sender=qs[0],
                                        from_user=from_user,
                                        to_user=to_user)
                qs.delete()
                bust_cache('friends', to_user.pk)
                bust_cache('friends', from_user.pk)
                return True
            else:
                return False
        except Friend.DoesNotExist:
            return False