Я использую pd.read_sql() вместе с алхимией SQL. Однако для столбцов в кадре данных pandas используется не имя атрибута сопоставления, а исходное имя столбца SQL:
Код: Выделить всё
class DBtable(Base):
name: mapped_column("firstname")
Так что в таком случае после звонка
Код: Выделить всё
stmt = select(DBTable)
df = pd.read_sql(stmt, engine)
Я бы получил df с именем столбца «firstname».
Я использую обходной путь, используя columns_property, но может быть, есть более приятный способ добиться этого?
Код: Выделить всё
class DBtable(Base):
name: Mapped[str] = column_property(mapped_column("firstname"))
Я не хочу использовать псевдоним внутри запроса или переименовывать столбец фрейма данных позже, поскольку это переименование должно быть прозрачным для пользователя, а цель — унифицировать именование для нескольких таблиц и базы данных...
Подробнее здесь:
https://stackoverflow.com/questions/792 ... s-read-sql