내일배움캠프 60일차

김서영·2022년 11월 29일
1

내일배움캠프 TIL

목록 보기
62/85
post-custom-banner

1. 오늘 내가 한 일!

프로젝트 백엔드 수정및 작성하기 : 지금까지 작성했던 백엔드에서 오류가 자꾸 나서 처음부터 확인하면서 다시 작성해보았다. 수정 후에는 제발 오류가 나지 않기를..😥😥

2. 문무해알

- 다른 app에 존재하는 model을 가져와 model에 사용(연결)하는 법(import X)

- 문제점

- 무엇을 몰랐는지(내가 한 시도)

보통은 해당 app을 import해와서

from user.models import User
user = models.ForeignKey(User, on_delete=models.CASCADE)

이런 식으로 작성하였는데 이 방법을 사용하려고 하니 오류가 발생하는 경우가 있었다.
이런 경우

filter_history = models.ManyToManyField('store.Filter', related_name="filter_user")

이렇게 입력하니 오류가 나지 않았다!

- 해결 방법

- 알게 된 것

다대다의 경우라서 이런 오류가 나는걸까..?? 오류가 나는 이유는 아직 파악하지 못해서 튜터님께 여쭈어 보아야겠다!!

- 시리얼라이즈 중첩 오류??

- 문제점

The `.create()` method does not support writable nested fields by default.
Write an explicit `.create()` method for serializer 

- 무엇을 몰랐는지(내가 한 시도)

오류를 구글에 검색해보니 시리얼라이저를 중첩해서 오류가 난다고 나왔다. post를 하며 무언가를 create할때에는 시리얼 라이저를 중첩하면 안되고 중첩하려면 create이라는 함수를 따로 작성해주어야 한다고 한다.

- 해결 방법

우리는 이 오류를 해결하기 위해 중첩 시리얼 라이저를 중첩이 되지 않도록 바꿔봤는데 오류가 생기지 않았다.

- 알게 된 것

튜터님께 여쭈어보니 시리얼라이저가 중첩이어도 된다고 하시던데 한번 더 제대로 알아봐야겠다.

profile
개발과 지식의 성장을 즐기는 개발자
post-custom-banner

0개의 댓글