【发布时间】:2021-09-16 17:54:53
【问题描述】:
我正在使用带有 ExpressJS 的 Sequelize,并且我有一个 Organization 模型,如下所示:
const Organization = db.define("organization", {
name: {
type: Sequelize.DataTypes.STRING(50),
allowNull: false,
},
});
module.exports = Organization;
Organization 模型中的这个名称是 User 模型中的外键 organization (这个想法是许多用户可以加入一个组织 - 或者许多用户可以加入一个组织但一个用户始终属于一个组织组织)
用户模型如下所示:
const User = db.define("user", {
first_name: {
type: Sequelize.DataTypes.STRING(50),
allowNull: false,
},
organization: {
type: Sequelize.DataTypes.STRING(25),
allowNull: false,
}
});
User.belongsTo(Organization, {
foreignKey: "organization",
as: "organizationName",
});
但是,我无法先通过以下方式创建新组织:
const { name } = req.body;
try {
const organization = await Organization.create({
name,
});
res.status(200).json({
success: true,
created: organization,
});
} catch (error) {
next(new ErrorResponse(`Error! ${error.message}`, 400));
}
它向我抛出了这个错误:ErrorResponse: Error! Unknown column 'id' in 'field list'。
但是,我可以使用组织名称创建一个新用户,它会自动在组织表中创建一个组织。
【问题讨论】:
标签: sequelize.js