sqlalchemy 查询:结果列名称

Ana*_*yev 5 python orm sqlalchemy

我有一个名为 的模型(使用声明性基础声明)DevicesGpsTelemetry。我这样查询:

models = session.query(
    DevicesGps.ReceivedDateUtc, 
    DevicesGps.ReceivedTimeUtc,   
    DevicesGps.Latitude,                                 
    DevicesGps.Longitude)
Run Code Online (Sandbox Code Playgroud)

它呈现为:

    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
Run Code Online (Sandbox Code Playgroud)

我的问题:如何将 AS 语句后面的名称(例如"gps_telemetry_ReceivedDateUtc")更改为我想要的名称?

背景:这些名称对我来说很重要,因为我执行pandas.read_sql此查询,并且这些名称成为 DataFrame 的列名称

Phi*_*tin 6

.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")
)
Run Code Online (Sandbox Code Playgroud)