DRF UpdateView Error

김도오·2022년 3월 30일
0

generics.RetrieveUpdateDestroyAPIView

APIView 부분 업데이트를 하기 위해서 고생좀 했다.
요즘 react 프레임워크를 다루면서 request를 내 편의대로 보내다보니
생기는 error였다.
backend만 했을때 정확한 데이터 필수값대로 보내세요 라고 document만 보내주면 이런 고민할 계기도 없었을 텐데 frontend 입장에서 내 편의대로 보내다보니 이런 error가 생겼던거 같기도 하지만 결정적으로는 내 오타...문제다..

File "/Users/kimdoo/.pyenv/versions/youtube-backend-env/lib/python3.9/site-packages/rest_framework/mixins.py", line 66, in update
    serializer = self.get_serializer(instance, data=request.data, partial=partial)
AttributeError: 'AddressUpdateAPIView' object has no attribute 'data'

이런 버그가 생겼다.

말이 안되지 않는가?
request.data data 값이 없다니!!! ...

import axios from 'axios';

const client = axios.create();

export const updateAddress = ({ id, selected_address }) => {
    return client.put(
        `/members/address/${id}/`,
        { selected_address},
        {
            headers: {
                Authorization: `Token ${sessionStorage.getItem('token')}`,
            },
        },
    );
};

알고보니

def put(self, request, *args, **kwargs):
    return self.partial_update(self, request, *args, **kwargs)

self 파라미터를 추가해줘서 error가 발생한 거였음


def put(self, request, *args, **kwargs):
    return self.partial_update(request, *args, **kwargs)

에러 해결!

0개의 댓글

관련 채용 정보