【问题标题】:Tastypie PUT : partial update on all objects in a resourceTastypie PUT:资源中所有对象的部分更新
【发布时间】:2013-07-19 07:11:02
【问题描述】:

我有一个这样的 django 模型,(顺便说一句:我正在使用 Tastypie)

class Watchlist(models.Model):
  name = models.CharField(max_length=200)
  created = models.DateTimeField(auto_now_add=True)
  user = models.ForeignKey('users.User')
  stocks = models.ManyToManyField('Stock')
  equityboss = models.BooleanField(blank=True, default=False)
  last_watched =  models.DateTimeField(auto_now_add=True)
  order = models.IntegerField(max_length=10)

我想单独为关注列表模型中的所有对象更新 order 字段。

我尝试发送 PUT 请求,它删除了我所有的记录。我没有收到任何错误。 这是我通过 PUT 请求发送的数据

{'objects': [{'resource_uri': '/api/eboss/watchlist/2/', 'id': u'2', 'order': 0}, {'resource_uri': '/api/eboss/watchlist/1/', 'id': u'1', 'order': 1}]}

请告诉我是什么问题?

【问题讨论】:

    标签: tastypie


    【解决方案1】:

    查看 HTTP PATCH (the RFC) - Tastypie (their docs) 支持它并允许您部分更新资源。

    看起来您需要为每个资源制作单独的 PATCH,但是,因为没有提及 PATCH 列表的方式与您可以 PUT 列表的新副本相同。

    【讨论】:

    • 不需要单独的补丁。我已将 PUT 请求更改为 PATCH 请求,它现在正在工作。
    猜你喜欢
    • 2012-08-04
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2017-12-26
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    相关资源
    最近更新 更多