私は次の2つのクラスを持っています:
class DbQuery:
def __init__(self,query):
self.query = query
class DbResultSet:
def __init__(self,query):
self.result = []
そして、これらのクラスはSQLクエリと結果に使用され、属性は列挙型のような機能をシミュレートするために使用されます。クエリは次のようになります。
q_forum_heirarchy =\
type( "RtDbQuery",
DbQuery( """SELECT level, id, parent_id, name
FROM forum_heirarchy_node
WHERE forum_id = :f_id
AND level != 0
ORDER BY level ASC;"""),
LEVEL=0, ID=1, PARENT_ID=2, NAME=3 )
DbQueryからDbResultsetに属性をコピーする方法はありますか?db_resultset.query.LEVEL
列挙型の序数を取得するには、db_resultset.LEVELの代わりに書き込む必要があるため、結果セットにクエリを埋め込む必要はありません。
メソッドが表示__get_attribute__
されますが、これはattribute_nameによってインデックス付けされていると思います。
編集:
コードは無効なPythonであり、私が求めていた内容の要点は変わりません。psycopg2(データベースライブラリ)がnamedtuples()(列挙型のパフォーマンス文字を使用するPythonオブジェクト)を実行できることを発見したので、わざわざ更新することはできません:D