これは、私が sqlalchemy で使用している非常に単純なコードであり、クラスの動作に関する基本的なものが欠けています。
class Game(Base):
__tablename__ = "games"
id = Column(Integer, primary_key=True)
a_name = Column(String)
def __init__(self, **kwargs):
for k, v in kwargs.iteritems():
setattr(self, k, v)
print 'hi'
self.away_dictionary = {'name': self.a_name}
@hybrid_property
def stuff(self):
return self.away_dictionary
次のクエリが機能します。
session.query(Game).first().a_name
ただし、次のクエリはエラーを返します。
session.query(Game).first().stuff
'Game' object has no attribute 'away_dictionary'
さらに基本的な問題もあります。Game クラスにクエリを実行すると、「hi」が出力されません。Game インスタンスを使用するたびに「hi」が出力されない理由を誰か説明してもらえますか? 2 番目の質問は、このクラスの各インスタンスに必要な away_dictionary を作成してアクセスするにはどうすればよいかということです。