2011-10-24 3 views
1

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

答えて

8

だけ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' 
関連する問題