我在这里读了一些sqlalchecky的答案,但是我仍然不清楚有两种情况。在
这些到底是什么意思?它们之间有什么区别?在
为列设置默认的False和可为null的True
check = Column(Boolean, default=False, nullable=True)
为列设置默认True和可为null的False
check = Column(Boolean, default=True, nullable=False)
我的想法很混乱。谢谢!在
编辑:
这是我试图实现的逻辑。在
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
变成{
当列设置为default=False
时,也会发生同样的情况。在
如果我将列设置为default=True
,那么当列变成True
时,它就工作了;但是当列变成{
PS:这不是实际的代码,但它与我试图实现的实际代码类似。在
default指定列留空时的默认值,因此default=True仅对布尔列有意义,如果列为空,则将插入True。在
nullable指定列中的值是否可以为NULL(或在python None中)(如果为空,则为空,而不指定默认值)
相关问题 更多 >
编程相关推荐