是否可以包含与相关模型相关的模型?

Posted

技术标签:

【中文标题】是否可以包含与相关模型相关的模型?【英文标题】:Is it possible to include models related to related models? 【发布时间】:2018-02-02 17:51:46 【问题描述】:

我有一个Parent 的模型hasMany('children')Child 模型belongsTo('uncle')

有没有办法使用序列化程序在Parent 响应中包含Uncle?现在我的服务器配置中有自定义响应,但我宁愿将其移出。

父母

import  Model, hasMany  from 'ember-cli-mirage';

export default Model.extend(
  children: hasMany('child'),
);

孩子

import  Model, belongsTo  from 'ember-cli-mirage';

export default Model.extend(
  parent: belongsTo( polymorphic: true ),
  uncle: belongsTo(),
);

Uncle 是从 ember-data 中发现的,没有明确的关系。

【问题讨论】:

【参考方案1】:

您可以使用 child 序列化程序默认包含 Uncle

// mirage/serializers/child.js
export default Serializer.extend(
  include: ['unclde']
);

或通过来自客户端的?include 查询参数包含它

GET /parents/1?include=children.uncle

【讨论】:

这是因为包含的模型(本例中为children)是使用其专用序列化程序序列化的吗?

以上是关于是否可以包含与相关模型相关的模型?的主要内容,如果未能解决你的问题,请参考以下文章

Django过滤与其他模型的外键相关的模型的查询集?

前端笔记十一,盒模型与布局相关属性

Tastypie 从继承的模型中访问字段

针对序列数据的LSTM模型

Django模型父链接的自定义相关名称?

常见统计模型