2016-02-16 3 views
1

У меня есть модель (объявленная с использованием декларативной базы), называемая DevicesGpsTelemetry. Я сделать запрос следующим образом:запрос sqlalchemy: имена столбцов результата

models = session.query(
    DevicesGps.ReceivedDateUtc, 
    DevicesGps.ReceivedTimeUtc, 
    DevicesGps.Latitude,         
    DevicesGps.Longitude) 

И это делает, как:

SELECT 
    devices_gps."ReceivedDateUtc" AS "devices_gps_ReceivedDateUtc", 
    devices_gps."ReceivedTimeUtc" AS "devices_gps_ReceivedTimeUtc", 
    devices_gps."Latitude" AS "devices_gps_Latitude", 
    devices_gps."Longitude" AS "devices_gps_Longitude" 
     FROM devices_gps 

Мой вопрос: как изменить имена, которые идут после AS заявления (как "gps_telemetry_ReceivedDateUtc") к чему-то я хочу?

фона: эти имена очень важны для меня, потому что я pandas.read_sql с этим запросом и имена становятся именами столбцов DataFrame в

ответ

3

Добавить .label('desired_name') после каждого столбца. В вашем случае это будет выглядеть как

models = session.query(
    DevicesGps.ReceivedDateUtc.label("gps_telemetry_ReceivedDateUtc"), 
    DevicesGps.ReceivedTimeUtc.label("gps_telemetry_ReceivedTimeUtc"), 
    DevicesGps.Latitude.label("gps_telemetry_Latitude"),         
    DevicesGps.Longitude.label("gps_telemetry_Longitude") 
) 
+0

Спасибо. Как-то пропустили это в документации – Anatoly

Смежные вопросы