2023.04.20

Vinyl Stage·2023년 4월 20일
0

개발일지

목록 보기
36/42

DRF작업중 발생에러

1. TypeError

TypeError
Object of type property is not JSON serializable


원인

해결방법
serializer = ArticleSerializer(articles, many=True)
이처럼 many=True를 넣어준다
이는 drf에 쿼리세트에 여러항목이 포함되어 있으므로 drf는 각 serialzer클래스로 직렬화 해야한다

이 인수를 설정하지 않으면 쿼리세트가 단일 인스턴스이고 serializer.data단일 객체가 됨을 의미한다
출처 : https://stackoverflow.com/questions/51223456/what-does-many-true-do-in-django-rest-framework

잘 나오는걸 확인할수 있다.

2. AssertionError

AssertionError
Cannot call `.is_vlid()` as no `data=` keyword argument was passed when instanting the serializer instance.


serializer = ArticleSerializer(data=request.data)
이 줄에 꼭 data=를 넣어주어야 한다

이는 serializer인스턴스를 인스턴스화할 때 키워드 인수가 전달되지 않았으므로 호출할수 없다는 것이다

잘 나오는걸 볼 수 있다.

출처 : https://devpress.csdn.net/python/62fd99acc67703293080405a.html

3. Postman에서 JSON

,로 구분해주지 않으면 위와 같다

만약 오타가 생긴다면 위와 같다(title이 아니니 없다고 함)


항상 오타에 주의하자

4. Postman에서 Enviroments

이처럼 사용하기 편하게 host를 잡아준다


이 빨간색으로 동그라미 친 부분에 local혹은 사용자가 지정한 환경을 잡아주지않으면 이처럼 에러가 발생한다


정상작동되는 모습

5. urlpatterns

django에서는 urls.py에서 각 views.py로 하여금 url들을 관리하는데 만약 중간에 오타가 생겨서 필요없는 다른 문자가 들어가게 되면

이와같은 에러문구가 출력된다.

profile
Life is Art

0개의 댓글