2015-04-12 137 views
0

是否有可能使flask-sqlalchemy模型中的__tablename__动态使用声明性基本方法?动态__tablename__在flask-sqlalchemy模型中

通常将它设置为这一个:

class User(Base): 
    __tablename__ = 'users' 
    id = Column(Integer, primary_key=True) 
    name = Column(String(50), unique=True) 
    email = Column(String(120), unique=True) 

    def __init__(self, name=None, email=None): 
     self.name = name 
     self.email = email 

    def __repr__(self): 
     return '<User %r>' % (self.name) 

我想通过一个参数来改变它,这样我可以有每个用户的表(也许在构造函数?)。

我在本指南中发现了其他一些方法 Approaches 但我想使用会话,因为我已经在其他模型中使用它。

+1

的表实例第一个构造函数参数究竟为什么你需要_per用户_表?这听起来像一个破坏性的架构。 – tzaman

+0

我尝试为最多50个用户构建一个小型平台,每个用户可以拥有自己的学习平台(保存在临时数据库中) –

回答

0

我有一点解决方法,但它不是很好。

我正在使用元数据方法,如here中所述。

有了,我可以将表名作为SQLAlchemy的