SQL Алхимия префиксов имя таблицы к столбцам - PullRequest
0 голосов
/ 20 февраля 2020

Я использую делькаративную базу в sql -алхимии для запроса данных:

from sqlalchemy.ext.declarative import declarative_base
OdsBase = declarative_base(metadata=sql.MetaData(schema='ods'))

class BagImport(OdsBase):
    __tablename__ = 'bag_stg_import' 
    __table_args__ = {'extend_existing': True} 
    PAN = sql.Column(sql.String(50), primary_key = True)
    GEM = sql.Column(sql.String(50))
    def __repr__(self):
        return "<{0} Pan: {1} - Gem: {2}>".format(self.__class__.__name__, self.PAN, self.GEM)

Если я это сделаю, я получу правильный результат:

my_session.query(BagImport).first()        

Но если я хочу чтобы увидеть запрос, и я делаю:

the_query = my_session.query(BagImport)
print(the_query)

Я получаю выходной запрос как:

SELECT ods.bag_stg_import."PAN" AS "ods_bag_stg_import_PAN_1", ods.bag_stg_import."GEM" AS "ods_bag_stg_import_GEM_2"
FROM ods.bag_stg_import

Почему SQL -Алхимия префикс имени таблицы в псевдониме, например SELECT ods.bag_stg_import."PAN" AS "ods_bag_stg_import_PAN_1"?

Как я могу сделать это КАК SELECT ods.bag_stg_import."PAN" AS "PAN"?

1 Ответ

0 голосов
/ 20 февраля 2020

просто укажите ниже мета-свойство в вашей модели

__tablename__ = 'Users'

их sqlaclchemy примет правильное имя таблицы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...