Javascript Django REST框架:错误[“类型不正确。应为pk值,收到str.”
我在尝试使用Javascript Django REST框架:错误[“类型不正确。应为pk值,收到str.”,javascript,django,django-rest-framework,multipartform-data,form-data,Javascript,Django,Django Rest Framework,Multipartform Data,Form Data,我在尝试使用文件字段和多个域的多个域的多个域的多个域的多个域的多个域的来发布多部分/表单数据时,出现了以下错误 [ "Incorrect type. Expected pk value, received str." ] 我的序列化程序如下所示: class DatasetStorePointerCreateSerializer(serializers.ModelSerializer): domains = serializers.PrimaryKeyRelated
文件字段和多个域的多个域的多个域的多个域的多个域的多个域的来发布多部分/表单数据时,出现了以下错误
[ "Incorrect type. Expected pk value, received str." ]
我的序列化程序如下所示:
class DatasetStorePointerCreateSerializer(serializers.ModelSerializer):
domains = serializers.PrimaryKeyRelatedField(many=True, queryset=Domain.objects.all())
class Meta:
model = DatasetStorePointer
fields = [
'name', 'description', 'supplementary_information', 'type', 'file_entity', 'domains', 'citations', 'owner'
]
getFormData(object) {
const formData = new FormData();
Object.keys(object).forEach(key => formData.append(this.camelToUnderscore(key), object[key]));
return formData;
},
因此,我的序列化程序需要一个ID数组,如[1,2],但在请求中。data
域数组将作为'domains':['1,2']
…增加,但它应该是'domains':[1,2]
注意:正在发送的有效负载对象是newformdata()
,其中我使用Javascript对象将其解析为FormData,如下所示:
class DatasetStorePointerCreateSerializer(serializers.ModelSerializer):
domains = serializers.PrimaryKeyRelatedField(many=True, queryset=Domain.objects.all())
class Meta:
model = DatasetStorePointer
fields = [
'name', 'description', 'supplementary_information', 'type', 'file_entity', 'domains', 'citations', 'owner'
]
getFormData(object) {
const formData = new FormData();
Object.keys(object).forEach(key => formData.append(this.camelToUnderscore(key), object[key]));
return formData;
},
有人知道此问题的解决方法吗?哪个字段导致此问题error@ArakkalAbu“域”字段。它应该是['1',2']或[1,2],但不是['1,2']…哪个字段导致error@ArakkalAbu“域”字段。它应该是['1','2']或[1,2],但不是['1,2']。。。