CateTagSerializer 질문입니다!

위 코드에서 CateTagSerializer를 nested Serializer로 정의한것 까지는 이해가 되는데요! CateTagSeralizer를 사용할 때, Category와 Tag에서 name만 가져오는게 CategorySerilizer와 TagSerializer를 사용하는것으로 보입니다.
CateTagSerializer에서는 CategorySerializer와 TagSerializer를 써주지 않았는데 어떤 로직에 의해서, 사용하는건지 이해가 되지 않습니다 ㅠㅠ
回答 3
2
Serializer 처리 과정에서, cateList 의 item 이 CharField 타입이므로, 여기 소스를 보면
class CharField(Field):
. . .
def to_representation(self, value):
return str(value)
value 에 Category 객체가 들어가고, 이를 str(~)으로 형 변환하면,
아래 models.py 의 Category 모델 정의에서, self.name 이 반환됩니다.
class Category(models.Model):
. . .
def __str__(self):
return self.name
이 두가지에 의해 Category 모델의 name 필드가 출력되는 것 입니다.
열공하세요~~
1
아 이해되었습니다!! CategorySerializer와 TagSerializer때문이 아니고, Category와 Tag의 __str__이 self.name을 반환하기 때문이였군요! 정말 감사합니다!! ㅎㅎ
2
안녕하세요. 독자님.
CateTagSerializer 를 만드는 방법 2가지를 설명하였고 그 중 하나만 사용하면 됩니다.
1) netsted 방법 : 위 사진에서 코멘트 처리된 3 라인
2) ListField 사용하는 방법 : nested 방법이 아니고, 직접 필드를 정의하는 방법
질문은, 2)번 방법에서, 어떻게 Category 와 Tag 데이터를 가져왔느냐 ? 라고 이해했습니다.
cateList 필드는 ListField 이므로 [item, item, ...] 으로 표현될 것이고,
item의 타입은 CharField 즉 str 타입입니다. 여기서는 타입만 정의한 것이고,
그 값 즉 item 은 views.py 에서 CateTagSerializer 인스턴스를 만들때 넣어줍니다.
class CateTagAPIView(APIView):
def get(self, request, *args, **kwargs):
. . .
serializer = CateTagSerializer(instance=data)
위 문장에서, data 에 들어있는 cateList 를 Key 로 해서, Category 테이블 데이터를
CateTagSerilaizer 의 cateList 필드의 item 으로 넣어주는 것입니다.
답변이 되었는지요 ?
0
답변 감사드립니다!
ListField를 사용하는 2번 방법에서, Category모델과 Tag모델의 name 필드만 가져오는 로직이 궁금합니다.
특히, CateTagSerializer는 CategorySerializer와 TagSerializer를 상속받지 않았는데, 어떻게 name 필드만 가져오는지 이해가 되지 않네요 ㅠㅠ
블로그 첫 화면이 안 나옵니다.
0
317
3
INSTALLED_APPS 순서
0
246
1
vscode 실행안됨
0
667
3
django venv activate 하고 나서 vue 서버도 실행 해야 하나요?
0
367
2
더 공부할게있을까요
0
369
1
용어에 대해 문의 드립니다.
0
283
2
like 기능을 위한 overriding 문의
0
322
1
코드 최적화 과정
0
363
1
유저 1명이 1개의 게시글에 좋아요를 누를 경우
0
356
1
프로잭트를 생성하고 runserver하면 ModuleNotFoundError: No module named 발생해요
0
894
4
GET Method 에서 왜 Like 수를 증가시키는지 궁금합니다.
0
376
1
CSRF Token에 대한 질문입니다.
0
609
1
ModuleNotFoundError: No module named 'rest_framework django' 오류
0
3037
1
앱을 구성할 때 api 앱과 blog 앱을 나누어서 구성하는 이유가 궁금합니다ㅜ
1
472
2
to_representation() 오버라이딩 질문입니다.
0
495
3
공부 순서에 관해 질문드립니다.
0
360
1
CateTagAPIView에서 get 메소드
1
309
2
깃헙 페이지를 보고싶어요
0
230
1
디버거 관련 질문입니다.
0
277
3
가장 마지막강의 (Generic View -> ViewSet migration) 질문입니다.
0
223
1
PostCommentListAPIView(게시물 댓글 조회 api) 관련 질문
0
211
1
댓글 보기 및 삭제 api
0
279
1
post, comment crud 질문
0
228
4
The serializer field might be named incorrectly and not match any attribute or key on the `User` instance.
0
839
1

