我想在定义sqlalchemy表时使用继承。
class DatetimeBase(object):
inserted = Column(DateTime, primary_key=True)
class OtherTable(DeclarativeBase, DatetimeBase):
__tablename__ = 'other_table'
blah = Column(Integer, primary_key=True)
other_column = Column(Text)
现在我在other_table
上有一个复合主键,即(inserted, blah)
。但是,为了查询的效率(假设我正在寻找最新的等等),如果时间戳在整数(blah, inserted)
之后,那会更好。是否有一些奇特的方法来重新排序主键?
答案 0 :(得分:3)
是的,使用PrimaryKeyConstraint
:
class OtherTable(DeclarativeBase, DatetimeBase):
__tablename__ = 'other_table'
blah = Column(Integer, primary_key=True)
other_column = Column(Text)
__table_args__ = (PrimaryKeyConstraint("blah", "inserted"),)