inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

인스타그램 클론 - full stack 웹 개발

post.like_set은 어떤 문법인가요?

239

이재일

작성한 질문수 5

1

안녕하세요 인스타클론을 완강 후에 다른 프로젝트를 만들어보고 있는데요

인스타 클론에서 like와 비슷한 기능을 가진 기능을 만들려고 하고 있습니다.

그런데  models.py를 보면

class Post(models.Model):

    author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    photo = ProcessedImageField(upload_to=photo_path,
                                processors=[ResizeToFill(600, 600)],
                                format='JPEG',
                                options={'quality': 90})
    content = models.CharField(max_length=140, help_text="최대 140자 입력 가능")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    tag_set = models.ManyToManyField('Tag', blank=True)
    
    like_user_set = models.ManyToManyField(settings.AUTH_USER_MODEL,
                                           blank=True,
                                           related_name='like_user_set',
                                           through='Like')  # post.like_set 으로 접근 가능
    bookmark_user_set = models.ManyToManyField(settings.AUTH_USER_MODEL,
                                           blank=True,
                                           related_name='bookmark_user_set',
                                           through='Bookmark')  # post.like_set 으로 접근 가능
인데
def post_like(request):
    pk = request.POST.get('pk', None)
    post = get_object_or_404(Post, pk=pk)
    post_like, post_like_created = post.like_set.get_or_create(user=request.user) # 중요한 부분이래...(get_or_create) 사용자끼리의 일종의 스위치를 만든다?

    if not post_like_created: #일종의 flag
        post_like.delete()
        message = "좋아요 취소"
    else:
        message = "좋아요"

    context = {'like_count': post.like_count, #import json
               'message': message}

    return HttpResponse(json.dumps(context), content_type="application/json") #from django.http import HttpResponse
란 말이죠
왜 post.like_set을 사용할 수 있는건가요?
관련된 document 링크를 보내주실 수 있나요?

django HTML/CSS python 클론코딩

답변 1

0

카인드패밀리

항상 열심히 해주시는 재일님 !! ^ ^ 질문감사드립니다 

그에 반해서 답글이 너무 늦었네요 ㅠ ㅠ 지송지송 

우선 관련된 내용은 아래 문서를 참고해주세요

https://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.ForeignKey.related_name

더불어 저도 처음에 햇갈렸던 내용중에 하나였는데요

저도다 훨씬 잘 설명해주신 분의 질문글이 아래에 있습니다 

https://www.inflearn.com/questions/18752

위에 문서와 함꼐 위에 질문답변 내용들을 보시면 좀더 이해가 되실겁니다 :) 

항상 열심히 해주셔서 감사해요 ~ ㅎ 화이팅입니다 재일님~ㅎ

variableWidth.style.width 실행이 안되는것 같습니다.

0

304

0

알수없는 에러,,

0

210

0

postgresql: unrecognized service

0

290

0

AssertionError

0

214

0

\d 해도 작동이 안되고 에러가 납니다.

0

317

3

혹시 안내사항이 무슨 말인가요??

0

250

1

팔로잉 부분이 아예 작동이 안되네요. 분명히 똑같이 적은거 같은데 글자도 그림 뒤에 숨고 잘 작동이 안되요

0

283

3

전체 완성된 코딩소스는 어디잇나요?

0

190

2

4:10 쯤에 보이는 네모칸(빨, 주, 노, 초, ...) 치는 앱은 무엇인가요?

0

268

2

웹을 조금 해본사람이 들어야하나요 ?

1

212

1

제가 models.py의 Comment에서 post 변수를 안쓰고

0

230

0

여기까지 따라하고 runserver를 했더니 오류가 떠요

0

422

2

너무 저급한 질문 일 수도 있긴한데

0

172

0

화면이 오류가 안뜨는데

0

237

0

해결은 했지만 궁금합니다.

0

186

0

config폴더에 있는것과 accounts폴더에 있는 것들은 어떻게 다른건가요?

0

358

1

acoount 아래에 urls.py가 없는데 만들어야하나요?

0

191

1

링크가 안생겨요

0

203

1

상위폴더로 어떻게 이동하나요?

0

1112

1

psql이 안돼요

0

212

0

똑같이 했는데 오류가 뜹니다

0

288

1

6분 54초

0

180

0

저도 왜 좋아요가 안뜨는 걸까요?

1

539

6

top :50% 가 왜 가운데로 안가는건가요?

0

456

1