简单的sqlalchemy使用

2016-07-25  本文已影响0人  icewaver

啥话不说,上代码

<pre><code>

from sqlalchemy import create_engine

from sqlalchemy.orm import scoped_session, sessionmaker

from sqlalchemy.ext.declarative import declarative_base

from sqlalchemy import Column, Integer, String

engine = create_engine('sqlite:///./test.db', convert_unicode=True) # 创建数据库引擎( 当前目录下保存数据库文件)
db_session = scoped_session(sessionmaker(autocommit=False,
autoflush=False,
bind=engine))
Base = declarative_base()
Base.query = db_session.query_property()

def init_db():
Base.metadata.create_all(bind=engine)

class User(Base):
tablename = 'users'

id = Column(Integer, primary_key=True)
name = Column(String(50), unique=True)
email = Column(String(120), unique=True)

def __init__(self, name=None, email=None):
    self.name = name

    self.email = email

def __repr__(self):
    return '%s (%r, %r)' % (self.__class__.__name__, self.name, self.email)

if name == 'main':
init_db()
for i in range(10):
u = User(name='name%d'%i, email='email%d'%i)
db_session.add(u)
db_session.commit()
db_session.remove()

上一篇下一篇

猜你喜欢

热点阅读