我在SQLAlchemy中有以下专栏:
name = Column(String(32), nullable=False)
我希望如果没有值传递给插入,它应该输入一个完全空白的默认值,如果不可能,则默认值为NULL。
我应该将列定义为:
name = Column(String(32), nullable=False, default=NULL)
因为在python NULL
对象实际上是None
有什么建议吗?
答案 0 :(得分:4)
如果您想要一个空字符串作为默认值,您可以:
name = Column(String(32), nullable=False, default='')
但是,如果您这样做:
name = Column(String(32), nullable=True)
然后列的默认值为NULL。
请注意,NULL值表示“未知值”,通常不应与空字符串混淆。如果您的应用程序需要“未知值”的概念,那么请使您的列可以为空。如果没有,请将其设为不可为空,默认为空字符串。