据我所知,续集有两种定义外键的方法。
首先,像这样使用references
:
sequelize.define('foo', {
bar_id: {
type: 'blahblah',
references: {
model: Bar,
key: 'id'
}
}
});
第二,使用belongsTo
方法:
Foo.belongsTo(Bar, { foreignKey: 'bar_id', targetKey: 'id' });
然后,当我在模型中定义外键时,应该使用其中之一吗?还是两者都有?
belongsTo
足以定义外键,我是否可以删除bar_id
中的sequelize.define('foo', {...})
定义?答案 0 :(得分:2)
根据他们的文档,如果您不想创建关联和约束,则可以使用引用来创建FK。否则,请使用HasOne,HasMany或BelongsTo。
我个人只使用过HasOne,HasMany和BelongsTo方法。
在上述链接上回顾整个“协会”部分可能是个好主意。