Tastypie + Backbone:model.save(PUT)失败(直到我通过浏览器打开资源)

时间:2012-07-05 09:08:20

标签: python backbone.js tastypie

我正在使用Django-Tastypie和Backbone,在保存模型时出现问题,由于某种原因操作失败。

API:

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()

BACKBONE功能:

set_spam: function(e) {
    e.preventDefault();
    this.model.set({ 'spam': true });
    this.model.save();
    console.log('spam set');
    $(this.parent).fadeOut();
    $(this.el).fadeOut();
},  

控制台:

  

PUT 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 backbone.js:1355

     

_.extend.save backbone.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”,它会按预期正确显示。但是,如果之后我尝试完全相同的操作,这次是有效的!所以我承认我对此感到有点困惑。

任何想法都会受到好评,提前谢谢!

0 个答案:

没有答案