その中で最も効率的な方法を生成するためのクラス属性を、列データベースからクエリー?
質問
見ついてのデータベースのクエリセットのすべてのインスタンス変数のクラス:
例:
def populate(self, if):
#Perform mysql query
self._name = row['name']
self._email = row['email']
...
えることができるのか?はこのお勧めしませんより良いアプローチ)?
解決
このコードの読み取るいは手動で。そういう属性が存在し、どの属性ではないか。
利用できる
setattr
自動トンのみになれます。一つのカウンターちょっと定義リスト
attributes = ['name', 'email'...]
としてのクラスの属していfor name in self.attributes: setattr(self, "_" + name, row[name])
また、属性からクエリそのものが、この変更によってクエリー、特に使用している場合は、
SELECT *
そのようなこと)の変更はデータベースです。いこれらの属性は全てのグアンダースコア.これは純粋に内部も考えられるかどうかの属性ではなく、クエリの結果そのものの保管は、dictなります。一般的には、属性がかなり静います。
聞きoursqlはすぐにMySQLdb
他のヒント
を見 SQLAlchemyののそれはpythonのための最も人気のあるデータベース抽象化です。
あなたが本当にアクティブレコードパターン状の層がある場合は、と呼ばれるエリクシル。
それは素敵なデータベース抽象化だと私はデータベースを切り替えることができますので、私はSQLAlchemyのを使用しています。私は私のテストのためにメモリ内のsqliteを使用して、私はSQLAlchemyのを使用して私のコードにして、それをくさびことができます。
所属していません StackOverflow