【发布时间】:2011-12-14 04:48:27
【问题描述】:
我正在使用带有 SQLAlchemy 扩展的 Flask。我需要定义几个模型类,它们将在 MySQL 数据库中创建表。这些表只会在名称上有所不同,其中的所有字段名称/数据类型都是相同的。如何为所有这些表定义类?我正在考虑一些继承,但我不太确定我将如何做到这一点。
【问题讨论】:
标签: python sqlalchemy flask flask-sqlalchemy
我正在使用带有 SQLAlchemy 扩展的 Flask。我需要定义几个模型类,它们将在 MySQL 数据库中创建表。这些表只会在名称上有所不同,其中的所有字段名称/数据类型都是相同的。如何为所有这些表定义类?我正在考虑一些继承,但我不太确定我将如何做到这一点。
【问题讨论】:
标签: python sqlalchemy flask flask-sqlalchemy
只需在a mix-in class 中定义所有列:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class MyMixin(object):
id = Column(Integer, primary_key=True)
data = Column(String)
class MyModel1(MyMixin, Base):
__tablename__ = 'models1'
class MyModel2(MyMixin, Base):
__tablename__ = 'models2'
【讨论】: