Можно ли использовать TastyPie для обновления поля ForeignKey
до None
?
Связанный вопрос: tastypie не будет удалять ссылку на внешний ключ во время PUT
Что у меня есть:
class SomeObject(models.Model):
some_field = models.ForeignKey(SomeOtherObject, null=True)
(и, конечно же, соответствующий класс ресурсов TastyPie, который отлично подходит для обновления других полей)
Что я хочу:
Чтобы обновить some_field
до None
с помощью TastyPie.
Что я пробовал (в JavaScript):
$.put('/my/api/model/someobject/42/', { some_field: null });
$.put('/my/api/model/someobject/42/', { some_field: '/my/api/model/someotherobject/null/' });
$.put('/my/api/model/someobject/42/', { some_field: '' });
$.put('/my/api/model/someobject/42/', { some_field: 0 });
$.put('/my/api/model/someobject/42/', { some_field: false });
И так далее. Все они приводят к 404 или 400. Некоторые приводят к 204, но база данных не обновляется.
Читая код в full_dehydrate()
, кажется, что в настоящее время это невозможно сделать.
Я просмотрел последний код на github. , и я не уверен, что это возможно.
obj_update()
для своего класса ресурсов, в котором я проверяюif 'some_field' in bundle.data and bundle.data['some_field'] is None:
, после чего я устанавливаюsome_field
объекта вNone
иsave()
его. В моем JavaScript я передаю{ some_field: null }
- person djsmith   schedule 14.03.2012