Ember Data (バージョン 11) に頭を悩ませようとしていますが、レコード間の関連付けを具体化する方法について混乱しています。問題の本質は、呼び出すfind
と、関連付けフィールドの DS.Model インスタンスの配列を取得していますが、「id」属性以外のデータが入力されていないことです。Page.get('pictures').toArray()[0].get('text')
たとえば、チェックするとnullになるという問題が発生します。
設定:
バックエンド、Django + Django REST
モデル:
class Page( models.Model ):
text = models.CharField( max_length=30, null=True, blank=True )
picture = models.ManyToManyField( 'Picture', related_name='pictures', null=True, blank=True )
class Picture( models.Model ):
caption = models.CharField( max_length=30, null=True, blank=True )
page = models.ForeignKey( Page, related_name='page' , null=True, blank=True )
アダプターのfind
機能はかなり標準的です。
find: function(store, type, id) {
var json = {}
, root = this.rootForType(type);
this.ajax(this.buildURL(root, id), "GET", {
success: function(pre_json) {
json[root] = pre_json;
console.log( json )
Ember.run(this, function(){
this.didFindRecord(store, type, json, id);
});
}
});
},
シリアライザーのどこかに、関連付けを具体化する方法を記述する必要があると思いますか? しかし、どうすればこれを行うことができますか?ここにあるシリアライザーを使用してみました: https://github.com/escalant3/ember-data-tastypie-adapterが、動作しないようです。