私はpeeweeを使用して別のテーブルから2つのフィールドを選択しようとしています。私は私の問題は、結果のオブジェクトを反復していると考えています。Python peewee - 複数のテーブルから選択
は、私はPythonで、次のコードを持っている:SystemHeader_Name, System_Value
:MySQLのワークベンチで私は2つのフィールドを持つテーブルを取得することを実行
SELECT t1.`SystemHeader_Name`, t4.`System_Value`
FROM `system_headers` AS t1
INNER JOIN `system_header_link` AS t2 ON (t1.`SystemHeader_ID` = t2.`SystemHeader_ID`)
INNER JOIN `system_data_link` AS t3 ON (t2.`SystemHeaderLink_ID` = t3.`SystemHeaderLink_ID`)
INNER JOIN `system_data` AS t4 ON (t3.`SystemData_ID` = t4.`SystemData_ID`)
:
sHeader_Value = (System_Headers
.select(System_Headers.SystemHeader_Name, System_Data.System_Value)
.join(System_Header_Link)
.join(System_Data_Link)
.join(System_Data))
このコードは、次のSQLを生成します。
私はクエリラッパーからSystem_Value
を取得する方法を理解しようとしています。
for s in sHeader_Value:
print s.SystemHeader_Name, s.System_Value
私は'System_Headers' object has no attribute 'System_Value'
ことを示す、AttributeError
を提示しています:私は、次の操作を行います。
私がprint s.SystemHeader_Name
を実行しようとすると、完璧に実行されます。
System_Value
フィールドの値を取得するにはどうすればよいですか?
はい、これは働いていました。しかし、私は行をシリアル化するときに 'System_Value'キーを追加しません – Rishabh
誰でもLEFT OUTER JOINを使用して同じエラーを出すときにこの問題を回避する方法を知っています。 – bobthemac