【发布时间】:2019-05-01 00:59:05
【问题描述】:
我正在使用声明性 API 在 SQLAlchemy 中定义一个表。它有一个我想索引的外键。我的问题是:如何将 master_ref 创建的索引定义为 ASC 或 DESC 索引(无需借助 SQL 手动执行)?
class Item(Base):
id = Column(INTEGER, primary_key=True)
master_ref = Column(INTEGER, ForeignKey('master.id'), nullable=True, index=True)
value = Column(REAL)
查看 SqlAlchemy 的 documentation,创建索引的另一种方法是:
class Item(Base):
id = Column(INTEGER, primary_key=True)
master_ref = Column(INTEGER, ForeignKey('master.id'))
value = Column(REAL)
Index('ix_name', master_ref)
但我找不到任何关于如何在任何地方定义 ASC 或 DESC 的参考。
【问题讨论】:
-
请注意,如果在类主体中定义
__table_args__,正确的方法是在__table_args__中传递Index,但由于在定义索引。
标签: python sqlite sqlalchemy