Python 3初学実践事例(10)対象転辞書object to dict


Python 3初学実践事例(10)対象転辞書object to dict
私はコードを書く時に1つの問題に出会って、sqlalchemyがデータベースの中から調べた結果は1つのオブジェクトで、私は直接このオブジェクトをx.idの方法で内容を取り出すことができますが、いつも気分が悪くて、私はもっとよくこのオブジェクトを処理することを望んでいます.しかし、印刷された結果は<__main__.passwd object="" at=""/>というものでした.
ドキュメントを表示することで、vars(obj)の関数を見つけました.この関数はオブジェクトを辞書に変換することができます.ドキュメントのアドレス:https://docs.python.org/3/library/functions.html?highlight=vars#vars
しかし、出力の結果は次のとおりです.
{'_sa_instance_state': 0x10e773cf8>, 'name': 'sunmingyuan', 'id': 2, 'password': '/t22664Q44', 'time': datetime.datetime(2017, 12, 20, 5, 11, 22)}

この結果はもう使えますが、変な感じですよね.そこで、私は検索して、やっと手書きの関数を見つけて、この問題をうまく処理することができます.
def row2dict(row):
    d = {}
    for column in row.__table__.columns:
        d[column.name] = str(getattr(row, column.name))

    return d

この関数で処理した結果はとても優雅です.
{'id': '17', 'name': 'love', 'password': 'xxxxx', 'time': '2017-12-22 05:08:27'}

参照先:https://stackoverflow.com/questions/1958219/convert-sqlalchemy-row-object-to-python-dict
本文はFungLeoオリジナルで、転載は許可されているが、転載は先発リンクを保持しなければならない.