我已经阅读了几个sqlalchecmy答案,但我仍然不清楚两种情况。SQLALCHEMY设置默认值False可为空True
究竟是什么意思,这些有什么区别?
设置默认为false和可空真一列
check = Column(Boolean, default=False, nullable=True)
设置默认True和可空假的,我有一列
check = Column(Boolean, default=True, nullable=False)
令人困惑的oughts。谢谢!
编辑:
这里是我想要实现的逻辑。
class Checking(Base): __tablename __ = 'Test' check=Column(Boolean, nullable=True) def __init__(self, check): self.check = check def test(self): if self.check: print("Success") else: print("Failed")
时check
变得False
即,打印“失败”,但是当check
变得True
不工作它始终工作。它在那里失败。
当列设置为default=False
时,情况也是如此。
如果我将该列设置为default=True
,当列变为True
时它正在工作,但当列变为False
时失败 - 反之意味着上述情况。
PS:这不是实际的代码,但它与我试图实现的实际代码类似。
空=真允许空值,当它等于假如没有列值可以为空/无,默认为列提供默认值,如果您不传递值 –