Sequelize.js – 在“创build”或“build立”调用期间的模型关联

我有一个需要关联/外键的数据模型。 有没有办法在模型创build过程中强制执行这个约束,而不会陷入鸡/蛋的情况?

比方说,我有一个User类,它需要至less有一个device与它关联。 同样,该device必须属于一个用户。 像这样的东西(未经testing的代码,不介意语法错误):

 User = db.define("user", { name: Sequelize.STRING }) Device = db.define("device", { uuid: Sequelize.STRING }) User.hasMany(Device) 

我想确保在首次调用create时,我拥有所有Device信息以及所有User信息。 保持“胖模型,瘦控制器”我想把这个到我的模型。 有没有可能做这样的事情?

 user = User.create( name: "jesse" device: uuid: "84e824cb-bfae-4d95-a76d-51103c556057" ) 

我可以重写create方法吗? 还是有一些types的保存事件钩我可以使用?

目前的主人支持钩子。

 var User = sequelize.define('User', { username: DataTypes.STRING }, { hooks: { beforeCreate: function(user, next) { makeYourCheck(function() { next("a string means that an error happened.") }) } } }) 

你可以检查公关进一步的信息: https : //github.com/sequelize/sequelize/pull/894