使用表单数据更新Django模型时出现400错误请求

问题描述

我正在尝试使用axios更新我的Django模型,并且我将数据作为表单数据发送。我想使更改字段为可选时使用PATCH方法。但是,这无法正常工作,并且出现400 Bad Request错误。后端中还包含DRF序列化程序和APIview。我可以通过表单更新的唯一字段是我的imagefield。什么会导致错误

如何发送表单数据:

handleFormSubmit = (event) => {
    event.preventDefault();
    let form_data = new FormData();
    form_data.append('name',event.target.elements.name.value);
    form_data.append('email',event.target.elements.email.value);
    form_data.append('location',event.target.elements.location.value);
    form_data.append('sport',this.state.sport);
    form_data.append('image',this.state.file);
    const profileID = this.props.token
    let url = `http://127.0.0.1:8000/api/profile/${profileID}/update`
    axios.patch(url,form_data,{
        headers: {
            'content-type': 'multipart/form-data'
        }
    })
        .then(res => console.log(res))
        .catch(error => console.err(error));
 }

在我的UpdateAPIView中,我也有应该处理问题的parser_classes,但是没有

class ProfileViewUpdate(generics.UpdateAPIView):
    queryset = Profile.objects.all()
    serializer_class = ProfileSerializer
    lookup_field = 'token'
    lookup_url_kwarg = 'pk'
    parser_classes = (MultiPartParser,FormParser)

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)