Waterline ORM支持继承吗?比如说,我有一个模型叫BusinessDocument
,我想创建一个新模型叫SalesOrder
,它扩展了BusinessDocument
。因此,SalesOrder
最终应该具有BusinessDocument
的所有属性加上一些新属性。Waterline支持这一点吗?
看起来Waterline不支持开箱即用。参见GitHub问题。
上面问题中的一个评论还链接到YouTube上的一个sailscast视频(在这里)。简而言之,视频介绍了如何使用lodash将子模型与基本模型合并,如下所示:
baseModel.js
module.exports = {
attributes : {
name : 'STRING',
age : 'INTEGER'
},
foo : function () {}
}
childModel.js
var baseModel = require('/path/to/baseModel')
, _ = require('lodash')
module.exports = _.merge(baseModel, {
attributes : {
birthDate : 'DATE',
...
}
})