如果我没有在模型的create方法中定义它们,我有一个Sequelize实例,其标志为omitNull,用于插入在DB中定义的de defaultValues。像这样:
var sequelize = new Sequelize('db', 'user', 'pw', {
omitNull: true
})
但是如果我将它们定义为null,我想在其他模型中插入空值。像:
SomeModel.create({some_property: null});
有没有办法为模型的某些属性定义omitNull属性?
答案 0 :(得分:5)
使用omitNull = true
选项时,有一种方法可以强制sequelize将属性设置为null。
做这样的事情:
SomeModel.some_property = null;
SomeModel.save(['some_property']);
这将强制sequelize为some_property
创建带有NULL的更新/插入SQL。
我希望它有所帮助。
答案 1 :(得分:0)
如果您正在使用sequelize< v2.0,一个更黑客的替代解决方案是
sequelize.options.omitNull = false;
SomeModel.some_property = null;
SomeModel.save();
sequelize.options.omitNull = true;
答案 2 :(得分:0)
尽管这个问题已经存在很长时间了,但也许有人需要这个..
[('1984-85', 'Year'), ('Chicago', 'Team'), ('82', 'GP'), ('82', 'GS'), ('38.3', 'MPG'), ('.515', 'FG%'), ('.173', '3P%'), ('.845', 'FT%'), ('6.5', 'RPG'), ('5.9', 'APG'), ('2.4', 'SPG'), ('.8', 'BPG'), ('28.2', 'PPG')]
或
await User.update({
someData: null
},{
omitNull: false,
where: id,
})