• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

11-29 django-taggit 라이브러리

24.04.13 12:51 작성 조회수 62

0

해당 강의에서 @hookAFTER_SAVE를 이용하여 tags를 업데이트 하는 것으로 확인하였습니다. 그렇다면 content의 내용에 수정이 이루어진 Note들은 tags 필드가 업데이트가 되지만 수정을 하지 않은 기존 Note들은 tags 필드가 비어있게 되는 것 같습니다.

  • Content 수정한 Note : tags 필드가 hook에 의하여 업데이트 되어 저장됨

  • Content 수정하지 않은 기존 Note : tags 필드가 업데이트 되어있지 않음

혹시 강의 중에 제가 놓치거나 한 부분이 있을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요.

현재 태그들은 content 필드에서 #해시태그 문자열을 추출해서 업데이트하도록 했으니, content 필드 업데이트 시에만 태그들이 갱신되고 있습니다. // content 필드의 변화가 없음에도, 매 Note 저장 시마다 태그를 갱신하는 것은 줄일 수 있는 작업입니다.

그러니 만약 훅 적용 전에 content 필드에 이미 저장된 해시태그들에 대해서는 content 필드 갱신이 없었으니, 태그 갱신이 없는 것이 맞습니다. // 이는 단지 학습 과정에서 발생한 상황일 뿐 인거죠.

content 필드에 대해서 after_save 훅 외에도 태그를 생성하실려면,

지정 노트의 태그를 생성하는 admin action을 추가해보시거나,

태그가 없는 노트들에 대해서 태그를 생성해주는 management command를 추가해볼 수도 있겠습니다.

화이팅입니다~! ;-)

always2323님의 프로필

always2323

질문자

2024.04.14

답변 감사드립니다. management command 추가하여 해결하였습니다.