У меня почти есть x-редактируемая работа с django API, созданная с помощью tastypie, благодаря различным другим ответам на stackoverflow, но не совсем.tastypie и x-editable using patch
Вот HTML:
<a href="#" id="field_name" class="editable"
data-name="name"
data-pk="{{ object.id }}"
data-value="{{ object.name }}"
data-title="Meeting Name">
{{ object.name }}</a>
и JavaScript:
$('.editable').on('init', function(e, edt) {
edt.options.url = '/api/v1/update_meeting/' +edt.options.pk;
});
$('.editable').editable({
mode: 'inline',
ajaxOptions: {
type: 'PATCH'
},
success: function(response, newValue) {
// nothing to do
}
});
И tastypie ресурс:
класс UpdateMeetingResource (ModelResource):
class Meta:
queryset = Meeting.objects.all()
resource_name = 'update_meeting'
limit = 0
include_resource_uri = False
list_allowed_methods = ['get','patch',]
detail_allowed_methods = ['get', 'patch']
serializer = urlencodeSerializer()
authentication = Authentication()
authorization = Authorization()
Моипроблема только в том, что имя поля обновляется с именем, а не значением в значении данных. Прежде чем я ввел атрибут data-name, он установил значение «field_name».
Я мог бы исправить это, просто изменив метод patch-detail в моем ресурсе tastypie, но было бы неплохо заставить его работать, не делая этого.
Решено это временно путем подклассификации патча-детали. Имейте лучшее решение в виду и запишите здесь, когда у меня есть работа ... – PhoebeB