[django] 게시글 태그 생성하기

Hani Kim·2023년 9월 22일
0

project

목록 보기
1/10

목표:

Text 와 Tag 모델을 각각 생성한 후,
게시글 post 시 태그 목록을 확인해, 기존 태그면 get, 아니면 create 하는 기능 만들기

실패 코드:

태그를 두개 이상 넣으면 첫번째 태그만 저장되는 문제 발생.

실패 이유:

현재 코드에서는 tag_list를 for 루프 안에서 계속 초기화하고 있어서 문제가 발생함. 즉, 첫 번째 태그가 생성된 이후에도 tag_list가 계속 빈 리스트로 초기화되어서 새로운 태그를 추가하지 못하는 것.

이를 수정하려면 tag_list의 초기화는 for 루프 이전에 한 번만 이루어져야 함. 그리고 Tag.objects.get_or_create(name=tag) 메서드가 이미 생성된 태그를 반환하는 경우에는 생성된 태그를 추가하고, 아닌 경우에는 새로운 태그를 생성하여 추가해야 함.

성공 코드:

put 에 적용해보기:


text.tags.clear()로 초기화 한 뒤 post와 동일한 방법으로 진행

이후...

후에 프론트에서 태그가 콤마(,)로 나뉘어 저장되지 않는다는 문제점을 발견하였다. 아래는 코드를 수정해 업로드한 이후의 게시물.
콤마(,)로 태그 구분해 저장하기

profile
Django Fullstack 🍕

0개의 댓글