2013-07-19 72 views
0

我有一個Django模型這樣的,(順便說一句:我使用Tastypie)Tastypie PUT:部分更新中的所有對象在資源

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

請告訴我是什麼問題?

回答

2

查看HTTP PATCH(the RFC) - 它受Tastypie支持(their docs),並允許您部分更新資源。

看起來您需要爲每個資源創建單獨的修補程序,但是,因爲沒有提到使用與您可以放置​​列表的新副本相同的方式修補列表。

+1

無需個別補丁。我已將PUT請求更改爲PATCH請求,現在正在工作。 –