次のようなデータベーステーブルがあります。データは、次のようなツリー形式です。
            CREATE  TABLE IF NOT EXISTS DOMAIN_HIERARCHY (
                COMPONENT_ID        INT             NOT NULL ,
                LEVEL               INT             NOT NULL ,
                COMPONENT_NAME      VARCHAR(127)    NOT NULL ,
                PARENT              INT             NOT NULL ,
                PRIMARY KEY ( COMPONENT_ID ) 
                );
次のデータは表にあります
                (1,1,'A',0)
                (2,2,'AA',1)
                (3,2,'AB',1)
                (4,3,'AAA',2)
                (5,3,'AAB',2)
                (6,3,'ABA',3)
                (7,3,'ABB',3)
データを取得してPython辞書に保存する必要があります
以下のコードを書きました
                conx = sqlite3.connect( 'nameofdatabase.db' )
                curs = conx.cursor()
                curs.execute( 'SELECT COMPONENT_ID, LEVEL, COMPONENT_NAME, PARENT FROM DOMAIN_HIERARCHY' )
                rows = curs.fetchall()
                cmap = {}
                for row in rows:
                    cmap[row[0]] = row[2]
                hrcy={}
                for level in range( 1, maxl + 1 ):
                    for row in rows:
                        if row[1] == level:
                            if hrcy == {}:
                                hrcy[row[2]] = []
                                continue
                            parent = cmap[row[3]]
                            hrcy[parent].append( { row[2]: [] } )
私が直面している問題は、第 2 レベル以上のノードの場合で、親ではなくルートに追加されています。コードのどこを変更すればよいですか?