我有这样的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)
我想单独为监视列表模型中的所有对象更新订单字段。
我尝试发送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}]}
请告诉我有什么问题?
答案 0 :(得分:2)
查看HTTP PATCH(the RFC) - Tastypie(their docs)支持它,并允许您部分更新资源。
看起来你需要为每个资源制作单独的PATCH,但是,因为没有提到PATCH一个列表,就像你可以输入列表的新副本一样。