【发布时间】:2019-11-19 06:50:39
【问题描述】:
我对续集模型有疑问。我无法在单独的文件中创建双向关联。所以我有这个简单的代码:
//file one..
module.exports = function (sequelize, DataTypes) {
//models
const Author = sequelize.import(__dirname + '/Author');
const Image = sequelize.define('Image', {
id: {
type: DataTypes.BIGINT,
primaryKey: true,
autoIncrement: true,
allowNull: false,
},
author_id: {
type: DataTypes.INTEGER,
required:true,
references:{
model:Author,
key:'id'
},
},
}, {
tableName: 'image',
});
//associations
Image.belongsTo(Author);
return Image;
};
//file two...
module.exports = function init(sequelize, DataTypes) {
//models
const Image = sequelize.import(__dirname + '/Image');
// fields
const Author = sequelize.define('Author', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
allowNull: false,
},
username: {
type: DataTypes.STRING(30),
allowNull: false,
unique: true,
}
},
{
tableName: 'author',
});
Author.hasMany(Image);
return Author;
};
这不起作用。我得到了最大的堆栈调用。我什至不能导入这两个模型中的任何一个。如果我从两个文件之一中删除关联,它就像一个魅力。但我真的需要这种双向关联。
提前谢谢...
【问题讨论】:
标签: node.js sequelize.js