메서드를 사용하여 계산할 열 값 (is_dangerous_token
)을 원합니다. 여기까지 제가 지금까지 간 적이 있습니다.Sqlalchemy : 다른 열의 열 값이 자동으로 계산됩니다.
class PassRecovery(DeclarativeBase):
__tablename__ = 'pass_recoveries'
id = Column(Integer, primary_key=True)
account_email_address = Column(Unicode(255), ForeignKey('accounts.email_address'), index=True)
account = relationship('Account', backref=backref('pass_recoveries', cascade='all, delete-orphan'))
_is_dangerous_token = Column('is_dangerous_token', Unicode(255))
def _set_is_dangerous_token(self, account_email_address):
secret_key = config.get('is_dangerous_key')
signer = TimestampSigner(secret_key)
self._is_dangerous_token = signer.sign(account_email_address)
def _get_is_dangerous_token(self):
return self._is_dangerous_token
is_dangerous_token = synonym(
'_is_dangerous_token',
descriptor=property(_get_is_dangerous_token, _set_is_dangerous_token)
)
그러나 문제는 내가 EMAIL_ADDRESS에 전달하여 행을 만들 때 is_dangerous_token
내가 쓴 코드를 사용하여 생성되지 않는다는 점이다. 생성 된 행은 id
이고 account
및 is_dangerous_token
에 대한 관계는 데이터베이스에 값이 없습니다. 당신이 토큰을 생성하는 값입니다 필요가 있기 때문에 도움
필자가 이해했듯이 모델 구성시 열 값이 자동으로 계산됩니다. 그것은 사실입니까? – pylover
@pylover 예 정확하게 – Juggernaut