我在SQLAlchemy中使用声明,并希望创建一个与另一个列相同的类,但是由不同的表支持,例如:
Base = declarative_base()
class Foo(Base):
__tablename__ = 'foo'
id = Column(Integer, primary_key=True)
a = Column(Text)
b = Column(Text)
class Bar(Base):
__tablename__ = 'bar'
id = Column(Integer, primary_key=True)
a = Column(Text)
b = Column(Text)
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我想以这样一种方式创建类Bar,即对Foo列集的任何更改都会反映在Bar中.这些数据之间没有关系,所以我不认为继承是正确的方法.
这有意义吗?
对两种型号使用通用mixin:
class CommonModel(Base):
__abstract__ = True
id = Column(Integer, primary_key=True)
a = Column(Text)
b = Column(Text)
class Foo(CommonModel):
__tablename__ = 'foo'
class Bar(CommonModel):
__tablename__ = 'bar'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
377 次 |
最近记录: |