我拼命试图调用一个似乎不存在的简单的setter方法。
这是我的模型定义:
var Process = Sequelize.MySql.define('Process',{
name: Sequelize.STRING,
description: Sequelize.TEXT,
duration: Sequelize.BIGINT,
status: {
type: Sequelize.ENUM(pstatus.unassigned,pstatus.assigned,pstatus.inprocess,pstatus.stopped,pstatus.finished),
defaultValue: pstatus.unassigned,
set: function(v){
console.log('Prozess status updated')
if(!pstatus.hasOwnProperty(v)){
return
}
this.setDataValue('status',v)
}
}
}
每次调用process.setStatus(pStatus.inprocess)都会返回TypeError
可能未处理的TypeError:Object [object SequelizeInstance]没有方法'setStatus'
我在这里缺少什么?
答案 0 :(得分:1)
Setters实现为javascript setters
这意味着当您分配属性
时将调用setterprocess.status = 'done' // this invokes the setter