Sequelize hasOne将不允许多行共享相同的关系

我遇到了使用Postgres驱动程序的sails.js问题:

"dependencies": { "sequelize": "^1.7.0", "pg": "^3.0.3" } 

我有一个活动模型,与2个模型有一个hasOne关系,属于另一个:

 classMethods: { associate: function(models) { Activity.hasOne(models.Model2); Activity.hasOne(models.Model3); Activity.belongsTo(models.User); } } 

我遇到的问题是我似乎无法创build共享相同的Model2或Model3行/实例的2个活动实例。 我宣布第一个:

 Activity.create({}).complete(function(err, activity) { if(err) throw err; activity.setUser(User_Instance_X) activity.setModel2(Model2_Instance_X); activity.setModel3(Model3_Instance_X); activity.save().complete(db_save_cb); } 

如果我然后声明另一个,使用相同的Model2和Model3实例,但不同的用户,则第一行/实例不再包含对Model2&3的引用,只有最新的行/实例包含该引用。

这是令人费解的function? 这是我的缺乏理解或错误?

我会在评论中提供我们想出的答案。 OP实际上想要的是belongsTo他的所有协会。

belongsTo在Sequelize中添加外键的同时hasOne目标上添加外键。

hasOne实际上很less使用,可能是由于api的改变。