8

如果我没有在模型的创建方法中定义它们,我有一个带有 omitNull 标志的 Sequelize 实例来插入数据库中定义的默认值。像这样:

var sequelize = new Sequelize('db', 'user', 'pw', {
  omitNull: true
})

但是如果我将它们定义为空值,我想在其他模型中插入空值。喜欢:

SomeModel.create({some_property: null});

有没有办法仅为模型的某些属性定义 omitNull 属性?

4

3 回答 3

7

使用omitNull = true选项时,有一种方法可以强制 sequelize 将属性设置为 null。

只需执行以下操作:

SomeModel.some_property = null;
SomeModel.save(['some_property']);

这将强制 sequelize 为some_property.

我希望它有所帮助。

于 2014-08-02T14:25:50.633 回答
1

如果您使用的是 sequelize < v2.0,一个更骇人听闻的替代解决方案是

sequelize.options.omitNull = false;

SomeModel.some_property = null;
SomeModel.save();

sequelize.options.omitNull = true;
于 2016-07-12T19:25:05.247 回答
0

虽然这个问题已经很久了,也许有人需要这个..

  await User.update({
    someData: null
  },{
    omitNull: false,
    where: id,
  })

或者

  await User.create({
    someData: null
  },{
    omitNull: false,
  })
于 2019-09-04T03:27:38.513 回答