1

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.savebackbone.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」に移動すると、期待どおりに正しく表示されます。ただし、その後まったく同じ操作を試してみると、今回はうまくいきます!だから私はこれに少し戸惑っていることを告白します。

事前に感謝します、どんなアイデアでも大歓迎です!

4

0 に答える 0