Представьте, что у меня есть REST-сервер и мобильное устройство, которое извлекает данные из бэкэнд. Есть ли возможность отправить запрос с устройства и получить изменения только модели? Например, устройство получило и проанализировано следующая модель:Как получить изменения модели с истекшим сроком действия с использованием среды отдыха REST/Django
{
id = 40,
vote_up_counter = 5,
message = 'This is awesome!',
author = 'Peter Morgan'
}
Теперь кто-то голосовали за это сообщение и модель изменение:
{
id = 40,
vote_up_counter = 6,
message = 'This is awesome!',
author = 'Peter Morgan'
}
То, что я хотел бы иметь это ответ похож на , потому что мне не нужно снова получать сообщение и автора:
{
id = 40,
vote_up_counter = 6
}
Есть ли способ реализовать это? Например. мои мобильные устройства сохраняют модель с меткой времени, и если она истек, я запрашиваю изменения/получаю обновление модели. Думаю, мне нужно добавить временную метку last_modified
к моей модели или использовать что-то похожее на системы контроля версий.
Я знаю, что это довольно близко к услугам push, но я заинтересован, если можно получить обновление модели (используя более низкий трафик), когда вы тянете запрос на сервер. Буду признателен за любую помощь!
С наилучшими пожеланиями,
Майкл
EDIT:
Я должен упомянуть, что я хотел бы, чтобы послать запрос и обновить несколько объектов. Если я получаю объекты с идентификатором от 1 до 50, и только объект с идентификаторами 40 и 42 изменился, тогда я хотел бы получить ответ только объектов 40 и 42, а не всех других объектов.
Это что-то большее, чем фильтрация столбцов, возвращаемых вашим бэкэндом? –
Да, я так думаю. Представьте, что устройство получает версию с 10:00 утра (с 5 голосами), а модель меняется в 10:30 (до 6 голосов). Как отправить запрос на сервер, чтобы получить изменения модели с 10:00 до 10:30? Один из способов - получить всю модель, но я заинтересован в поиске «модели изменений» (третий пример кода). И в этом случае сообщение и автор никогда не будут меняться снова, его только vote_up_counter. Думаю, мне нужно было бы создать новое представление для этого, верно? – Michael
Вопрос в том, хотите ли вы получить только измененные столбцы или все объекты, которые были изменены в течение этого временного интервала? –