Как предотвратить наложение в SQLAlchemy Query - PullRequest
0 голосов
/ 04 октября 2019

Я использую SQLAlchemy для извлечения данных из БД SQL Server в Pandas Dataframe:

q: Query = self._session(db).query(tbl_obj)
return pd.read_sql(
               str(q),
               db.conn()
          )

tbl_obj - это SQLAlchemy объект таблицы, который был загружен из существующей таблицы в БД.

Моя проблема заключается в том, что создаваемый запрос автоматически присваивает именам столбцов значение «TABLE_NAME_COLUMN_NAME», когда я просто хочу, чтобы они были «COLUMN_NAME».

Я полагаю, это довольно простое решение, но я еще не понял его. Есть мысли?

1 Ответ

0 голосов
/ 04 октября 2019

Отправляю это, потому что я понял это, пока набирал вопрос. Проблема заключалась в том, что я звонил str(q), когда должен был звонить q.statement

. Этот код работает, как и ожидалось, поскольку атрибут 'statement' не содержит псевдонима:

q: Query = self._session(db).query(tbl_obj)
return pd.read_sql(
               q.statement,
               db.conn()
          )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...