在SQLAlchemy中默认插入NULL?

时间:2018-03-22 10:16:03

标签: python sqlalchemy models

我在SQLAlchemy中有以下专栏:

name = Column(String(32), nullable=False)

我希望如果没有值传递给插入,它应该输入一个完全空白的默认值,如果不可能,则默认值为NULL。

我应该将列定义为:

name = Column(String(32), nullable=False, default=NULL)

因为在python NULL对象实际上是None

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

如果您想要一个空字符串作为默认值,您可以:

name = Column(String(32), nullable=False, default='')

但是,如果您这样做:

name = Column(String(32), nullable=True)

然后列的默认值为NULL。

请注意,NULL值表示“未知值”,通常不应与空字符串混淆。如果您的应用程序需要“未知值”的概念,那么请使您的列可以为空。如果没有,请将其设为不可为空,默认为空字符串。