sqlalchemy 使用不同文件中的数据模型
2016-05-11 16:10
477 查看
要使用不同文件中的数据模型,就要让这些模型继承自同一个Base
base.py
user.py
group.py
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)
相关文章推荐
- Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
- PostgreSQL
- mysql 表级锁
- sqlplus 导出导入 存储过程,包体
- mysql 表级锁
- mysql 表级锁
- Invalid command: files\mongoDB\log\log.txt
- SQLSERVER存储过程基本语法
- iSQLPLUS配置设置
- [原]SQLite的学习系列之获取数据库版本二
- Redis数据类型操作(二) —— Hash
- Oracle pipe
- 查询数据库中为null字段的数据
- SQL Server日期时间函数
- sql语句常见的操作符学习整理(后边遇见会加上)
- C# 不安装客户端 连接Oracle 10G
- MySQL 去掉字段中的换行和回车符
- Mysql 中间件 oneProxy总结
- ehcache memcache redis -- java中的三大缓存
- PHP 安装 redis、memcached、openssl、pdo_mysql等