ここではsqlalchecmyの回答はほとんど読んでいませんが、まだ2つのシナリオについてはっきりしていません。SQLALCHEMY既定のFalseをnullに設定するTrue
これらは正確に何が意味していますか、これらの違いは何ですか?
設定のデフォルトはFalseと列のための真のNULL可能
check = Column(Boolean, default=False, nullable=True)
設定のデフォルトはTrueと私が午前コラム
check = Column(Boolean, default=True, nullable=False)
のための偽のNULL可能混乱するthそうだ。ありがとう!
EDIT:
ここでは、私が実装しようとしているロジックです。 check
はFalse
すなわち、印刷「失敗」になってきたがcheck
がTrue
になったときに動作していないとき、それは常に働いている
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")
。それはそこに失敗している。
列がdefault=False
に設定されている場合も同じことが起こります。
default=True
に列を設定すると、列がTrue
になったときに機能していますが、列がFalse
になると失敗します。これは上記の逆の意味です。
PS:これは実際のコードではありませんが、実際に達成しようとしているコードと似ています。
ヌル(それはデフォルトを指定せずに、空の場合、それはなります)NULL(やPythonなしで)ことができる
NULL可能で指定されている場合、それはに等しい場合= trueは、NULL値を許容します値が渡されない場合、デフォルト値はカラムのデフォルト値を返す –