inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

03-05 admin 앱을 통한 Song 데이터 관리

좋아요 개수 올리기 관련 질문입니다

247

meyou1218

작성한 질문수 16

1

수업내용을 따라가다가 좋아요 개수가 올라가지 않아서

맨아래와 코드와 같이 고쳤더니 좋아요가 올라갔습니다. 기존코드(주석된 것)와 같이

likes_dict = get_likes_dict(melon_uid_list)  # id와 좋아요 개수가 dict로 뜸

이부분에서 likes_dict 를 쓰신 이유가 궁금합니다.

그리고 if song.like_count != likes_dict.get(song.melon_uid)

이부분은 당연히 같은거라서 if문이 실행이 될수가 없지 않나요?

    # 액션
    def update_like_count(self, request, queryset):
        melon_uid_list = queryset.values_list("melon_uid", flat=True)
        likes_dict = get_likes_dict(melon_uid_list)  # id와 좋아요 개수가 dict로 뜸

        changed_count = 0
        for song in queryset:
            song.like_count += 1

            # 기존 코드
            # if song.like_count != likes_dict.get(song.melon_uid):
            #     song.like_count = likes_dict.get(song.melon_uid)
            #     changed_count += 1

        Song.objects.bulk_update(
            queryset,
            fields=["like_count"],
        )
        self.message_user(request, message=f"{changed_count}개 곡의 좋아요 갱신 완료")

react python django web-api htmx

답변 1

0

이진석

안녕하세요.

구현한 기능은 멜론 사이트에서의 해당 곡의 좋아요 수를 크롤링해서 최신 데이터를 반영하는 기능입니다.

그러니, 해당 기능을 수행하실때 멜론 사이트에서 좋아요 수의 변화가 없다면 변경되지 않습니다. // 기능 실행 시마다 좋아요 수가 무조건 +1 이 되어서는 안 됩니다.

likes_dict 사전에는 각 곡의 멜론 사이트에서의 최신 좋아요 수가 저장되어있습니다. if 조건절을 통해, 좋아요 수의 변화가 있는 곡만 체크해서 좋아요 수가 변경된 곡의 수를 changed_count 를 통해 카운트했습니다.

1

meyou1218

아하 이해했습니다. 감사합니다!

Django의 View나 URL의 네이밍 컨벤션

0

60

1

08-14 FormView 관련 질문

0

72

1

07-01 IPv4AddressIntegerField 질문

0

82

1

14-08 수업 확인 요청 드립니다.

0

91

2

nextjs git 관리?

0

75

1

14-07에서 SESSION_COOKIE_DOMAIN = None 처리 필요.

0

75

2

고민

0

219

3

django-component==0.139 실행 시 오류

0

167

2

django-csp 4.0 migration 관련

0

122

2

01 윈도우 개발환경 설치 문의

0

99

1

강의 자료 문의

0

129

2

선생님 학습 방법 질문이 있습니다.

0

154

2

bulk_update에서 updated_at 필드

0

124

1

정규표현식

0

107

2

선생님 질문 있습니다.

0

80

1

공유자님 이 강의 공부 방법에 대한 질문입니다.

0

181

2

mydjango.py 질문 있습니다.

0

147

3

Django-Components의 0.128 세팅

0

226

3

질문 아님.

0

127

1

mydjango.py 실습 질문있습니다.

0

87

2

pycharm 개발환경 설정 오류

0

182

2

강의 듣다가 유료pycharm에 비해 vscode지원기능이 아쉬워서 확장프로그램 만들었는데 여기 공유해도 될까요?

0

167

1

중단점에 대한 질문 있습니다.

0

133

2

todo / react 붙이는 깃주소를 받고 싶습니다.

0

179

6