sqlalchemy 使用不同文件中的数据模型

来源:互联网 发布:计算机专业不想编程 编辑:程序博客网 时间:2024/06/11 17:11

要使用不同文件中的数据模型,就要让这些模型继承自同一个Base

base.py

from sqlalchemy import create_engine, MetaDatafrom sqlalchemy.orm import sessionmakerfrom sqlalchemy.ext.declarative import declarative_baseengine = create_engine('sqlite:///test.db', echo=True) #可以看到调试信息Base = declarative_base()metadata = MataData(engine)Session = sessionmaker()Session.configure(bind=engine)session = Session()

user.py

from sqlalchemy import Column,Integer,String, ForeignKey, create_engine, MetaDatafrom sqlalchemy.orm import relationshipfrom base import engine, Basefrom group import UserGroupuser_usergroup = Table('user_usergroup',Base.metadata,     Column('user_id', Integer, ForeignKey('user.id')),      Column('usergroup_id', Integer, ForeignKey('user_group.id')))class User(Base):     __tablename__ = 'user'         id = Column(Integer, primary_key=True)     name = Column(String(30))     group = relationship('UserGroup',                   secondary=user_usergroup,                   backref='User'                   )Base.metadata.create_all(engine)

group.py

from sqlalchemy import Column,Integer,String, ForeignKey, create_engine, MetaDatafrom sqlalchemy.orm import relationshipfrom base import engine, Baseclass UserGroup(Base):     __tablename__ = 'user_group'         id = Column(Integer, primary_key=True)     name = Column(String(30))Base.metadata.create_all(engine)






0 0
原创粉丝点击