Python peewee-выбор из нескольких таблиц
Я пытаюсь выбрать два поля из отдельных таблиц с помощью peewee. Я считаю, что моя проблема заключается в итерации по результирующему объекту.
у меня есть следующий код на 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))
этот код генерирует следующий 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`)
Выполняя это в MySQL Workbench я получаю таблицу с двумя полями:SystemHeader_Name, System_Value
.
Я пытаюсь понять, как получить System_Value
из обертки запроса. Если я сделаю следующий:
for s in sHeader_Value:
print s.SystemHeader_Name, s.System_Value
мне представляется AttributeError
, указав, что 'System_Headers' object has no attribute 'System_Value'
.
обратите внимание, что если я только пытаюсь сделать print s.SystemHeader_Name
, он выполняет безупречно.
как мне захватить значения для моего System_Value
поле?
1 ответов
Я только что понял, в чем проблема. Объект данных, который он возвращает, является System_Headers
object, который является моделью для этой конкретной таблицы. Таким образом, эта модель не имеет . Путем добавления naive()
в мой код peewee он передал атрибут на мой System_Headers
модель, что позволяет мне получить доступ к