http://django-rest-framework.org/api-guide/relations.html#primarykeyrelatedfield
我正在尝试写入PrimaryKeyRelatedField()
,虽然返回了200状态,但正在为相关字段输入空值,而不是多个值。
$.ajax({url:'<MY MODELVIEWSET>/<ID>', type:'PUT', data:{'field1':'xyz', <FIELD IN QUESTION WITH PrimaryKeyRelatedField(many=True)>:[1,2,3]}})
- &GT;更新后的字段为空
如果只为此字段指定了一个值,则更新成功且正确。
$.ajax({url:'<MY MODELVIEWSET>/<ID>', type:'PUT', data:{'field1':'xyz', <FIELD IN QUESTION WITH PrimaryKeyRelatedField(many=True)>:1}})
- &GT;正确更新
答案 0 :(得分:2)
你需要将traditional设置为true,因此jquery会以django理解的方式编码包含数组的params:
$.ajax({
url:'<MY MODELVIEWSET>/<ID>',
type:'PUT',
traditional: true,
data:{field1:'xyz', field2:[1,2,3]}
})
有关默认和传统编码之间的区别,请参阅here。