Попробуйте это:
$.put('/my/api/model/someobject/42/', { some_field: 'None' }); //DOES NOT WORK
У меня была похожая проблема, когда я пытался отфильтровать некоторые объекты по пустому внешнему ключу и смог получить их с помощью GET:
http://localhost:8000/api/v1/page/?format=json&next_page=None
Обновление:
Хотя я смог получить совпадающие объекты, передав None, он не работает для PUT.Мне удалось обновить поле внешнего ключа до None с помощью этого вызова:
$.ajax('/api/v1/page/1/',{
contentType: 'application/json',
type: 'put',
data: JSON.stringify({"next_page": null})
});
Я думаю, это обходит проблему, передавая ноль как application/json
.Вероятно, можно передать ноль как application/x-www-form-urlencoded
, но я не знаю как.
Между прочим, application/json
- это кодировка, которую ожидает вкусная по умолчанию, тогда как application/x-www-form-urlencoded
- это кодировка jquery, и некоторые другие (все?) Библиотеки используют для ajax.Может быть, с кодировкой json по умолчанию вкусная пиция легче работать.