我有一个对后端的 axios 请求。 我们的后端说他已经为前端配置了cors。 但是当我发送我的 axios 请求时。 即使我在我的帖子请求中放了一个标题,它也只会给我这个标题。 这是我的 axios ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我有这些序列化程序:
class OneSerializer(serializers.ModelSerializer):
class Meta:
model = OneModel
fields = ['time_column', 'event_column']
class TwoSerializer(serializers.ModelSerializer):
survival_columns = OneSerializer(many=True, required=False)
class Meta:
model = UserFile
fields = ['id', 'name', 'survival_columns']
现在在create
方法中,我试图从validated_data
检索survival_columns
值,但它不存在! 如果我打印 POST 数据,字段和值会正确显示:
def create(self, validated_data):
print(self.context['request'].POST) # <QueryDict: {'name': ['Datos Clinicos de prueba.csv'], 'survival_columns': ['{"event_column":"Prueba","time_column":"prueba"}']}>
print(validated_data) # {'name': 'Datos Clinicos de prueba.csv'}
为什么从请求中过滤了字段survival_columns
?
我正在使用 FormData 发出请求,并且survival_columns
字段是一个数组,在发送之前是Stringyfied。 正如本文所指出的,Django REST Framework 不支持这种 FormData 和 JSON 的组合。
解决方案是使用json
内置包手动解码字段:
def create(self, validated_data):
...
survival_columns_str = self.context['request'].POST.get('survival_columns', '[]')
survival_columns = json.loads(survival_columns_str)
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.