본문 바로가기
파이썬

파이썬 SQLAlchemy 부울 값이 없음입니다.

by º기록 2021. 2. 10.
반응형

내 피라미드 앱에이 테이블이 있습니다.

class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    .....
    is_active = Column(Boolean, unique=False)
    def __init__(self, name, raw_password):
        is_active = True

테스트를했을 때 is_active 가 None이라고합니다.

def test_register_user(self):
    user = User('user1', '1234')
    self.sess.add(user)
    self.sess.flush()

    #print user
    #self.assertTrue(user.is_active, True)
    user_db_record = self.sess.query(User).filter_by(name=user.name).first()
    self.assertEqual(user_db_record.is_active, True)

내 통합 로그에서 행을 생성 할 때 is_active 가 None으로 설정되어있는 것을 확인했습니다. 왜?

 

해결 방법

 

기본값을 설정해야합니다. 그렇지 않으면 None / NULL이 사용됩니다.

is_active = Column(Boolean, unique=False, default=True)

__ init __ 에서이 작업을 수행하려고했지만 self.is_active = True 대신 is_active = True (지역 변수)를 사용했습니다.

 

참조 페이지 https://stackoverflow.com/questions/12045698

 

 

반응형

댓글