您的位置:首页 > 数据库

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

2016-05-11 16:10 477 查看
要使用不同文件中的数据模型,就要让这些模型继承自同一个Base

base.py

from sqlalchemy import create_engine, MetaData
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

engine = 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, MetaData
from sqlalchemy.orm import relationship
from base import engine, Base
from group import UserGroup

user_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, MetaData
from sqlalchemy.orm import relationship
from base import engine, Base

class UserGroup(Base):
__tablename__ = 'user_group'

id = Column(Integer, primary_key=True)
name = Column(String(30))

Base.metadata.create_all(engine)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: