【发布时间】:2018-06-30 15:19:31
【问题描述】:
在使用 TypeScript 时,对于 Sequelize 模型,在 getter function 中使用 this.getDataValue 的正确方法是什么?
这是我得到的错误:
“字符串 | 类型”上不存在属性“getDataValue”数据类型摘要 |定义AttributeColumnOptions'。
“字符串”类型上不存在属性“getDataValue”。
我的模型定义:
import * as Sequelize from 'sequelize';
import sequelize from '../db-connection';
export interface IUserAttributes {
date_of_birth: Date;
name: string;
}
export interface IUserInstance extends Sequelize.Instance<IUserAttributes> {
date_of_birth: Date;
name: string;
}
const User = sequelize.define<IUserAttributes, IUserInstance>('user', {
name: {
type: Sequelize.STRING,
validate: {
notEmpty: true,
},
},
date_of_birth: {
get(): Date {
return new Date(this.getDataValue('date_of_birth'));
},
type: Sequelize.DATEONLY,
validate: {
isDate: true,
notEmpty: true,
},
},
});
export default User;
【问题讨论】: