我试图围绕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,但似乎无法让它发挥作用。