我有一个特定实体的数据,这些实体在多个相同的表中分区,通常按时间顺序或按数字范围分隔.例如,我可能有一个名为mytable的表用于当前数据,mytable_2013用于去年的数据,mytable_2012等等.
只写当前表.其他人只是咨询.使用SQLAlchemy,有什么方法可以指定要在使用声明性模型时查询的表吗?
使用mixins并通过对象属性更改表名称。
class Node(Base):
__tablename__ = 'node'
nid = Column(Integer, primary_key=True)
uuid = Column(String(128))
vid = Column(Integer)
class Node1(Node):
__tablename__ = 'node_1'
class Node2(Node):
__tablename__ = 'node_2'
Run Code Online (Sandbox Code Playgroud)
根据要求,重新发布为答案:
请查看参考资料部分中在 SQLAlchemy 中映射大量相似表的Concrete Table Inheritance答案。
在您的情况下,您MyTable只能在使用当前数据时进行查询,并在需要整个历史记录时对所有表进行多态搜索。
| 归档时间: |
|
| 查看次数: |
2583 次 |
| 最近记录: |