nested 로 아래와 같이 만들고 싶다면
{
"id" : 1,
"books" : [
"id": 1,
"title" : "책이름",
]
}
models.py 에 해당 foreignkey 에 속하는 속성의 뒤에 related_name 속성을 설정한다
serailizer 에서 realated_name 에서 설정한 이름으로 부른다
예시로

이런식으로 불렀다면

이런식으로 설정해주면 된다 (todo 및에 subtodo가 있는 형태)
그러면 잘 뜬다!
참고했던 블로그
https://pyh0502.tistory.com/55
Nested Serializer - Django Rest Framework
현재 공모전에서 모바일 애플리케이션을 개발하면서 DRF를 활용하여 REST API를 만들고 있다. 하나의 Reivew에 여러 Tag들이 들어가는 기능을 개발하고 있고 그에 따라 Review 테이블은 Tag 테이블과 1:N
pyh0502.tistory.com
정말 감사합니다 :)
--
일단 이건 이렇게 끝냈는데..
lexorank로 호기롭게.. npm 에 있는 라이브러리로 프론트에서 계산해서 넘겨주면 백엔드는 db 에 넣는 방식으로 적용하려 했는데 멘토님의 피드백이 있었다..
-- 백엔드에서는 검증을 해야하지 않을까요?
검증을 생각을 못했다...
그래서 좌충우돌 다시 파이썬으로 된 lexorank 를 찾아보는 중이다.
그래도 일단 나는 최대한 일을 줄이고 일정을 맞추고 싶기 때문에 생각하는 바는 다음과 같다
** 희망회로 **
프론트에서 일단 계산해준다 ->
백엔드는 프론트의 결과를 받는다.
백엔드에서는 정말 간단하게 연산한다.
예시로 뭔가 aaac 를 받았다!
그러면 프론트로 부터 앞의 todo 와 뒤의 todo의 id를 받는다
그러면 백엔드에서는 앞뒤의 todo order 를 찾아서..!
그 order들 사이에 속하는지 확인한다.
만약 속하지 않으면 400 에러 (order) 에러를 띄워주면 되지 않을까..?
** 이렇게 생각한 이유 **
1. 계산을 한다고 해도 next, prev의 범위가 다를 수 있지 않을까..?
일단 생각한 바로는 Npm 에서 다운로드 받은 라이브러리는 간단하게 lexorank.genNext() 로 호출이 되는데..
내가 만든 애도 같은 간격으로 작동할까..? -> 물론 저 라이브러리를 참고하기 때문에 맞을 수 있다!
그치만! 검증이 그정도로 정확해야하나..?
2. 과연 내가... 이번 7월 내에 완성할 수 있을까...
ts -> python 이라지만.. 그치만..
이런 고민을 하며 lexorank (python) 라이브러리를 찾고 있다...
열심히 해봐야지..
'소프트웨어 마에스트로 > BackEnd(Django)' 카테고리의 다른 글
[백엔드] django serializer 관련 여러가지 요청사항 (0) | 2024.07.30 |
---|---|
[백엔드] django serializer (1) | 2024.07.24 |
[백엔드] lexoRank 공부하기 (0) | 2024.07.13 |
[백엔드] django test db관련 문제 (0) | 2024.07.12 |
[백엔드] mysql 한글 깨짐 + django 테이블 반영 안됨 + html form 에 안뜨는 문제 (1) | 2024.07.10 |