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 модель, что позволяет мне получить доступ к