バックエンドが主キーにカスタム フィールドを使用するため、それ自体に idAttribute が設定されたモデルを指定するコレクションがあります。コードは次のようになります。
var SearchItemModel = Backbone.Model.extend({
idAttribute: 'searchDefId'
});
var savedSearchesCollection = new SavedSearchesCollection({
model: SearchItemModel
});
を実行することでモデルを見つけることができるはずですがthat.collection.get(searchDefIdValue)
、できません。以下に、私のコレクションに 2 つのモデルがあることがわかります。Backbone の 'c44' の cid に基づいてモデルを取得しようとすると、問題はありません。しかし、カスタム ID フィールド 'searchDefId' を検索しようとしても、見つかりません。Backbone は idAttribute の値を id にコピーするはずだと思っていましたが、「id」フィールドが表示されません。
また、使用しているモデルを見つけることができますが、that.collection.where({ searchDefId: data.searchDefId})[0]
それはより高価なように思われることに注意してください.