django rest_framework에서 serializers.py의 create 함수 작성 후 테스트 중 에러가 발생했다.
에러가 발생한 코드와 에러는 아래와 같다.
image_set = self.context['request'].FILES
image_set = self.context['request'].FILES
KeyError: 'request'
에러 해결을 위해 구글링 한 결과 아래와 같은 힌트를 얻을 수 있었다.
while instantiating your serializer do like this ser = Serializer(context={"request": request})
이유는 views.py에서 serializer를 선언할 때 request를 담아 context를 정의하지 않았기 때문이었다.
기존 serializer을 정의하는 코드는 아래와 같았다.
serializer = ProductSerializer(data=request.data)
해결한 코드는 아래와 같다.
serializer = ProductSerializer(context={"request": request}, data=request.data)
'Backend > Django' 카테고리의 다른 글
[파이썬] Django - Migrate 문제 발생 시 sqlite3 초기화 (0) | 2022.06.10 |
---|---|
[파이썬] Django - 개발환경 버전 문서화 (0) | 2022.06.10 |
[파이썬] Django - QuerySet 합치기 (union) (0) | 2022.06.04 |
[파이썬] Django - checkbox 다중 데이터 처리 (0) | 2022.06.04 |
[파이썬] Django - css 적용 (staticfiles_dirs) (0) | 2022.06.04 |