0

DjangoでBackboneを使用しようとしています。

私は最初にtodomvcからBackboneの実際のローカル例を取り上げました: https ://github.com/addyosmani/todomvc/tree/master/architecture-examples/backbone

次に、ローカルストレージの代わりにサーバーを使用したいと思いました。そこで、RESTAPIにdjango-tastypieを選択しました。ブラウザでRESTクライアント(postman)を使用してREST APIをテストしましたが、機能します。

次に、todomvcの例で機能させたいと思いました。ローカルストレージではなく、サーバーを使用するためにいくつかの設定を行いました。みんながお勧めするように、私は小さな変換レイヤーbackbone-tastypie.jsを手に入れました。(https://github.com/PaulUithol/backbone-tastypie/blob/master/backbone_tastypie/static/js/backbone-tastypie.js)

ただし、backbone-tastypie.jsレイヤーを使用しているときにコレクションでfetchメソッドを使用すると、 RangeError:最大呼び出しスタックサイズを超えました。

何か案が?

エラーの詳細:

a = window.App
a.Todos.fetch()
RangeError: Maximum call stack size exceeded
arguments: Array[0]
length: 0
__proto__: Array[0]
concat: function concat() { [native code] }
constructor: function Array() { [native code] }
every: function every() { [native code] }
filter: function filter() { [native code] }
forEach: function forEach() { [native code] }
indexOf: function indexOf() { [native code] }
join: function join() { [native code] }
lastIndexOf: function lastIndexOf() { [native code] }
length: 0
map: function map() { [native code] }
pop: function pop() { [native code] }
push: function push() { [native code] }
reduce: function reduce() { [native code] }
reduceRight: function reduceRight() { [native code] }
reverse: function reverse() { [native code] }
shift: function shift() { [native code] }
slice: function slice() { [native code] }
some: function some() { [native code] }
sort: function sort() { [native code] }
splice: function splice() { [native code] }
toLocaleString: function toLocaleString() { [native code] }
toString: function toString() { [native code] }
unshift: function unshift() { [native code] }
__proto__: Object
get message: function () { [native code] }
arguments: null
caller: null
length: 0
name: ""
prototype: Object
__proto__: function Empty() {}
set message: function () { [native code] }
arguments: null
caller: null
length: 1
name: ""
prototype: Object
__proto__: function Empty() {}
stack: undefined
type: "stack_overflow"
__proto__: Error
arguments: undefined
constructor: function RangeError() { [native code] }
name: "RangeError"
stack: undefined
type: undefined
__proto__: SetUpError.d
4

1 に答える 1

0

あなたのリソースには、次のようなものがありますか?

class MyResource1(ModelResource):
    attr1 = fields.ForeignKey('app.api.MyResource2', 'attr1', full=True)

    class Meta:
        queryset = bla bla
        .
        .
        .

 class MyResource2(ModelResource):
       attr2 = fields.ForeignKey('app.api.MyResource1', 'attr2', full=True)

    class Meta:
        queryset = bla bla
        .
        .
        .
于 2012-08-25T08:12:31.860 に答える