我正在使用 Django-Tastypie 和 Backbone,保存模型时出现问题,由于某种原因操作失败。
接口:
class InboxResource(ModelResource):
user = fields.ForeignKey(UserResource, 'user')
class Meta:
queryset = Email.objects.filter( Q(spam = False) & Q(archive = False) ).order_by('-date')
limit = 0
always_return_data = True
authentication = CustomAuthentication()
authorization = CustomAuthorization()
骨干功能:
set_spam: function(e) {
e.preventDefault();
this.model.set({ 'spam': true });
this.model.save();
console.log('spam set');
$(this.parent).fadeOut();
$(this.el).fadeOut();
},
安慰:
把 127.0.0.1:8000/api/v1/inbox/7 jquery-1.7.1.js:8102
jQuery.ajaxTransport.send jquery-1.7.1.js:8102 jQuery.extend.ajax
jquery-1.7.1.js:7580 Backbone.sync 主干.js:1355
_.extend.save 主干.js:392
Backbone.View.extend.set_spam Views.Single.js:41
jQuery.event.dispatch jquery-1.7.1.js:3256
jQuery.event.add.elemData.handle.eventHandle
在操作后检查模型时,它的值实际上发生了变化,因此我推断问题可能与 Tastypie 有关。
不过有些奇怪;当我通过浏览器访问特定资源时,例如“http://127.0.0.1:8000/api/v1/inbox/7”,它按预期正确显示。但是,如果在那之后我尝试完全相同的操作,那么这次就可以了!所以我承认我对此有点困惑。
任何想法将不胜感激,在此先感谢!