1

SQLAlchemy拡張機能でFlaskを使用しています。MySQLデータベースにテーブルを作成するいくつかのモデルクラスを定義する必要があります。テーブルは名前だけが異なり、テーブル内のすべてのフィールド名/データ型は同じになります。これらすべてのテーブルのクラスを定義するにはどうすればよいですか?いくつかの継承を考えていますが、それをどのように正確に行うかはよくわかりません。

4

1 に答える 1

8

ミックスインクラスですべての列を定義するだけです:

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'
于 2011-10-24T15:13:24.107 に答える