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})
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