0

想象一下,我有一个 REST 后端和一个从后端检索数据的移动设备。是否有可能从设备发送请求并仅获取模型的更改?例如设备接收并解析以下模型:

{ 
  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我的模型添加时间戳或使用类似于版本控制系统的东西。

我知道这非常接近推送服务,但我很感兴趣在向服务器拉取请求时是否可以检索模型更新(使用较低的流量)。我将不胜感激任何帮助!

此致,

迈克尔

编辑 :

我需要提一下,我想发送一个请求并更新多个对象。如果我检索 id 为 1 到 50 的对象,并且只有 id 为 40 和 42 的对象发生了变化,那么我只想得到对象 40 和 42 的响应,而不是所有其他对象。

4

1 回答 1

1

这里有两种可能的方法:

  1. 向模型添加更多字段。这些将是 last_updated 和 fields_updated。他们的名字有望解释其目的。
  2. 使用django-audit-log。然后,您将查询审计日志表以查找自上次检查以来更新了哪些字段。

无论哪种情况,您都需要添加一个模型来跟踪用户何时访问了表中的一行。

于 2013-09-16T12:04:07.640 回答