path("<username>/followers",view=views.UserFollowers.as_view(),name='user_followers'),
path("<username>/following",view=views.UserFollowering.as_view(),name='user_followering')
class UserFollowers(APIView):
def get(self, request, username, format=None):
try:
found_user = models.User.objects.get(username=username)
except models.User.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
user_followers = found_user.followers.all()
serializer = serializers.ListUserSerializer(user_followers, many=True)
return Response(data=serializer.data, status=status.HTTP_200_OK)
class UserFollowering(APIView):
def get(self, request, username, format=None):
try:
found_user = models.User.objects.get(username=username)
except models.User.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
user_following = found_user.following.all()
serializer = serializers.ListUserSerializer(user_following, many=True)
return Response(data=serializer.data, status=status.HTTP_200_OK)
class ListUserSerializer(serializers.ModelSerializer):
class Meta:
model = models.User
fields = (
'id',
'profile_image',
'username',
'name'
)
'BackEnd > Django' 카테고리의 다른 글
[Django]해시태그 search 2 (0) | 2018.11.06 |
---|---|
[Django]해시태그 search 1 (0) | 2018.11.05 |
[Django] User Profile (0) | 2018.11.05 |
[Django] Follow and UnFollow API (0) | 2018.11.05 |
[Django]Refactoring to like and unlike (0) | 2018.11.05 |