Sequelize – 用不是Sequelize.Model的子类的东西调用
我正在应用程序,但我有这个问题使用Node.js和Sequelize Postgresql:
throw new Error(this.name + '.' + Utils.lowercaseFirst(Type.toString()) + ' called with something that\'s not a subclass of Sequelize.Model'); ^ Error: Expense.class BelongsTo extends Association { constructor(source, target, options) { super(source, target, options); <....LOT OF CODE FROM SEQUELIZE ....> if ((fieldsOrOptions || {}).transaction instanceof Transaction) { options.transaction = fieldsOrOptions.transaction; } options.logging = (fieldsOrOptions || {}).logging; return association.target.create(values, fieldsOrOptions).then(newAssociatedObject => sourceInstance[association.accessors.set](newAssociatedObject, options) ); } } called with something that's not a subclass of Sequelize.Model
我不明白这个错误,尤其是最后一行“用不是Sequelize.Model的子类调用的东西”。 这里是模型:
用户模型
const models = require('./index'); const Expense = models.User; module.exports = (sequelize, DataTypes) => { var User = sequelize.define('User', { firstname: DataTypes.STRING, lastname: DataTypes.STRING, email: DataTypes.STRING, password: DataTypes.STRING }, { classMethods: { associate: function(models) { User.hasMany(models.Expense); } } }); console.log(models); User.hasMany(Expense, {as: 'Expenses', foreignKey: 'userId'}); return User; };
和费用模型
const models = require('./index'); const User = models.User; module.exports = (sequelize, DataTypes) => { var Expense = sequelize.define('Expense', { name: DataTypes.STRING, amount: DataTypes.INTEGER, date: DataTypes.INTEGER }, { classMethods: { } }); Expense.belongsTo(User, { foreignKey: 'userId' }); return Expense; };
而创build费用的控制器 :
createExpense: function(req, res) { const user = User.findOne({ where: { id: req.params.id } }); Expense.create({ name: req.body.name, amount: req.body.amount, date: req.body.date, User: user },{ include: [ { model: User } ] }).then((created) => { res.status(200).send({ success: true, message: 'Dépense ajoutée !' }); }); }
有人已经看到这样的错误吗? 我search了几天没有任何问题,如果有人可以帮助我会很感激,
谢谢 !
- Express-mysql-session阻止passport deserializeUser运行
- 在Express中,我应该在哪里放置我的sitemap.xml和robots.txt文件?
- 在express中设置来自routes / index的模板variables4
- Visual Studio代码,debugging节点 – 我怎样才能打这个“未经validation的断点”?
- 查找调用函数的文件的位置(nodejs)
- SockJS复用示例404 index.html找不到
- 在node.js中使用全局variables进行dependency injection
- gulp.js服务src文件没有browserSync?
- 电子 – 从菜单打开文件