0

私はこのようなジャンゴモデルを持っています(ところで:私は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)

ウォッチリスト モデルのすべてのオブジェクトに対して、注文フィールドのみを更新したいと考えています。

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}]}

何が問題なのか教えてください。

4

1 に答える 1

2

HTTP PATCH ( RFC ) を調べてください。これは Tastypie (彼らのドキュメント) でサポートされており、リソースを部分的に更新できます。

ただし、リストの新しいコピーを PUT できるのと同じ方法でリストを PATCH することについては言及されていないため、各リソースに個別の PATCH を作成する必要があるようです。

于 2013-07-19T12:10:19.923 に答える