NodeJS使用自定义引用字段对数据源进行绑定
我定义了以下模型:
module.exports = function(sequelize, DataTypes) { // Brand var Brand = sequelize.define("Brand", { name: DataTypes.STRING },{tableName: "brand"}); // Product_Type var Product_Type = sequelize.define("Product_Type", { name: DataTypes.STRING },{tableName: "product_type"}); // Product var Product = sequelize.define("Product", { name: DataTypes.STRING, product_type_id: { type: DataTypes.INTEGER, references: Product_Type, referencesKey: "id" }, brand_id: { type: DataTypes.INTEGER, references: Brand, referencesKey: "id" }, weight: DataTypes.INTEGER },{tableName: "product"}); Brand.hasMany(Product); Product_Type.hasMany(Product); Product.belongsTo(Brand); Product.belongsTo(Product_Type); return Product; };
我得到这个错误:
Possibly unhandled SequelizeDatabaseError: ER_BAD_FIELD_ERROR: Unknown column 'BrandId' in 'field list'
我怎么能说sequelize使用正确的领域? 含义不是BrandId
使用brand_id
而是使用ProductTypeId
来使用product_type_id
。 我认为引用它足够了,还是我要通过关联指定它?