3

http://django-rest-framework.org/api-guide/relations.html#primarykeyrelatedfield

andに書き込もうとしていPrimaryKeyRelatedField()ますが、200 ステータスが返されますが、問題のフィールドに複数の値ではなく空の値が入力されています。

$.ajax({url:'<MY MODELVIEWSET>/<ID>', type:'PUT', data:{'field1':'xyz', <FIELD IN QUESTION WITH PrimaryKeyRelatedField(many=True)>:[1,2,3]}})

--> 更新されたフィールドが空です

このフィールドに値が 1 つだけ指定されている場合、更新は正常に行われ、正しく行われます。

$.ajax({url:'<MY MODELVIEWSET>/<ID>', type:'PUT', data:{'field1':'xyz', <FIELD IN QUESTION WITH PrimaryKeyRelatedField(many=True)>:1}})

--> 正常に更新されます

4

1 に答える 1

2

jquery が、django が理解できる方法で配列を含むパラメーターをエンコードするように、traditional を true に設定する必要があります。

$.ajax({
    url:'<MY MODELVIEWSET>/<ID>', 
    type:'PUT',
    traditional: true, 
    data:{field1:'xyz', field2:[1,2,3]}
})

デフォルトと従来のエンコーディングの違いについては、こちらを参照してください。

于 2014-03-03T19:18:49.207 に答える