2011-10-24 5 views
1

J'utilise Flask avec son extension SQLAlchemy. J'ai besoin de définir plusieurs classes de modèles, ce qui va créer des tables dans la base de données MySQL. Les tables ne différeront que par le nom, tous les noms de champs/types de données seront identiques. Comment puis-je définir les classes pour toutes ces tables? Je pense à un héritage, mais je ne suis pas sûr de savoir exactement comment je ferais cela.Flask-SQLAlchemy. Créer plusieurs tables avec tous les champs identiques

Répondre

8

suffit de définir vos colonnes 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' 
Questions connexes