예제 #1
0
    def test_get_followings(self):
        user1 = self.create_user('user1')
        user2 = self.create_user('user2')
        for to_user in [user1, user2, self.dongxie]:
            Friendship.objects.create(from_user=self.linghu, to_user=to_user)

        user_id_set = FriendshipService.get_followed_user_id_set(
            self.linghu.id)
        self.assertEqual(user_id_set, {user1.id, user2.id, self.dongxie.id})

        Friendship.objects.filter(from_user=self.linghu,
                                  to_user=self.dongxie).delete()
        user_id_set = FriendshipService.get_followed_user_id_set(
            self.linghu.id)
        self.assertEqual(user_id_set, {user1.id, user2.id})
예제 #2
0
 def following_user_id_set(self: serializers.ModelSerializer):
     if self.context['request'].user.is_anonymous:
         return{}
     if hasattr(self, '_cached_following_user_id_set'):
         return self._cached_following_user_id_set
     user_id_set = FriendshipService.get_followed_user_id_set(
         self.context['request'].user.id,
     )
     setattr(self, '_cached_following_user_id_set', user_id_set)
     return user_id_set