0
因为我发布文件,我不得不使用$ http和FormData对象。当我发布一个带有一个数组的实例时,验证表明我没有发布一个整数。使用FormData发布/修补到Django ArrayField
我的模型看起来是这样的:
class User(models.Model):
work_week = ArrayField(models.IntegerField(), default=[0,1,2,3,4], size=7)
我的串行看起来是这样的:
class UserSerializer(serializer.ModelSerializer):
work_week = serializers.ListField(
child=serializers.IntegerField(min_value=0, max_value=6)
)
的JavaScript后看起来像这样
let data = {
work_week = [1,2,3];
}
let fd = new FormData();
for (let [key, val] of Object.entries(data)) {
if (key === 'work_week') {
val = JSON.stringify(val);
}
fd.append(key, val)
}
$http({
url: full_url,
method: this.method,
data: fd,
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
})
该错误消息我得到是:
{work_week: ["A valid integer is required."]}