我在一个项目中使用 Sequelize。那里有一些模型,例如:
class Agents extends CommonModel {
static init(sequelize) {
return super.init({
...super.baseFields,
userId: {
type: DataTypes.BIGINT,
references: User
},
...
}, {
sequelize,
timestamps: true,
paranoid: true
})
}
同样在 CommonModel 中:class CommonModel extends Model {
static baseFields = {
createdBy: {
type: DataTypes.INTEGER,
references: {
model: 'Users',
key: 'id'
}
},
...
}
}
现在,问题来了,init 函数中的 sequelize
参数是什么? (我不直接调用它)。什么时候会调用 init ? (虽然没有构造函数)这是一种特殊的设计模式吗?
最佳答案
super
指的是父类并使用 super.init()
参数构造它。 sequelize
模型中调用了 Agent
所以需要参数对吗?也许类 model
有 sequelize
变量 关于node.js - Nodejs 扩展 Sequelize 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63104679/