万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    sqlalchemyの怪奇現象 Pyhon

    例えばこのようにメモデルを定義する

    ・models.py

    class RoomInfo(object):
        def __init__(self, name, kaiki_gensho):
            self.name = name
            self.kaiki_gensho = kaiki_gensho  #ここに定義
    
        def __repr__(self):
            return '<RoomInfo %r>' % (self.name)
    
    room_info = Table('room_info', metadata,
        Column('name', String, primary_key=True),
        # ここにはkaiki_genshoは定義してない。
    )
    mapper(RoomInfo, room_info)
    

    ・呼び出しコード

            room_info = RoomInfo(
                name = 'hoge'
                kaiki_gensho = 'kowaina',
            )
            db_session.add(room_info)
            db_session.commit() #ここを通った後
    
            print (room.kaiki_gensho) # この結果
    

    Columnをしてないので、DB自体にはkaiki_genshoは格納されない。

    なぜか、

    kowaina

    が表示される。
    メモリの中にいるのか?