如何使用声明性基础更改 table 处别名的前缀

How to change prefix for alias at table with declarative base

我 table 是这样的:

class ReportImages(Base):

    __tablename__ = 'very_long_name_of_table'

    id = Column('long_column_name', Integer, primary_key=True)

我从 Oracle 数据库 运行 select 引发异常:

sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00972: identifier is too long
[SQL: SELECT very_long_name_of_table.long_column_name AS very_long_name_of_table_long_column_name FROM very_long_name_of_table]

如何为 select 设置我自己的别名或根本不使用列别名?

Select喜欢

data = session.query(ReportImages).all()

通过在查询前设置别名解决了这个问题:

        ri = aliased(ReportImages, name='ri')
        data = session.query(ri)

它有效,但我如何在 ReportImages 中设置标签样式仍然很有趣 class。