Sto provando a selezionare due campi da tabelle separate utilizzando peewee. Credo che il mio problema riguardi l'iterazione dell'oggetto risultante.Python peewee: selezionare da più tabelle
Ho il seguente codice Python:
sHeader_Value = (System_Headers
.select(System_Headers.SystemHeader_Name, System_Data.System_Value)
.join(System_Header_Link)
.join(System_Data_Link)
.join(System_Data))
Questo codice genera il seguente SQL:
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`)
esecuzione che in MySQL Workbench ho un tavolo con due campi: SystemHeader_Name, System_Value
.
Sto cercando di capire come ottenere il System_Value
dal wrapper di query. Se faccio la seguente:
for s in sHeader_Value:
print s.SystemHeader_Name, s.System_Value
mi sono presentato con una AttributeError
, affermando che la 'System_Headers' object has no attribute 'System_Value'
.
Si noti che se provo solo a fare print s.SystemHeader_Name
, si esegue perfettamente.
Come acquisire i valori per il campo System_Value
?
Sì, questo ha funzionato. Ma quando serializzo la riga non aggiunge il tasto 'System_Value' – Rishabh
Chiunque sappia come aggirare questo problema quando usa LEFT OUTER JOIN continua a dare lo stesso errore. – bobthemac