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."]}