Python 3.x之数据库框架Sqlalchemy操作SQlite(续)
来源:互联网 发布:mac百度云盘同步版 编辑:程序博客网 时间:2024/06/05 02:38
接着前面讲解的Sqlalchemy框架。再举个例子。如下所示:
这个例子是参考别人的Code的。
__author__ = 'minggxu9'import sqlalchemyfrom sqlalchemy import create_engineeng=create_engine('sqlite:///:memory:',echo=True)eng.execute("select 1").scalar()from sqlalchemy.ext.declarative import declarative_baseBase=declarative_base()#########################################################from sqlalchemy import join,Table,MetaData,\select,func,\and_,\Column,ForeignKey,\Integer,String,Text,Binaryfrom sqlalchemy.orm import deferred,mapper,\relationship,column_property,\object_session,\validates#########################################################metadata=MetaData()#########################################################class Book(Base): __tablename__='book' book_id=Column(Integer,primary_key=True) title=Column(String(200),nullable=False) summary=Column(String(2000)) excerpt=deferred(Column(Text)) photo1=deferred(Column(Binary),group='photos') photo2=deferred(Column(Binary),group='photos') photo3=deferred(Column(Binary),group='photos')class Address(Base): __tablename__='address' id=Column(Integer,primary_key=True) user_id=Column(Integer,ForeignKey('user.id'))class User(Base): __tablename__='user' id=Column(Integer,primary_key=True) firstname=Column(String(50)) lastname=Column(String(50)) #fullname=column_property(firstname+' '+lastname) #address_count = column_property( # select([func.count(Address.id)]).\ # where(Address.user_id==id) #) addresses=relationship("Address") @validates('addresses') def validate_address(self,key,address): assert '@' in address.email return address @property def fullname(self): return self.firstname+' '+self.lastname @property def address_count(self): return object_session(self).\ scalar(select([func.count(Address.id)]).\ where(Address.user_id==self.id))#########################################################Base.metadata.create_all(eng)#ed1_user=User('ed1','Ed1 Jones','ed1spassword')#ed2_user=User('ed2','Ed2 Jones','ed2spassword')#print("-----------------------")#from sqlalchemy.orm import Session#ses=Session(bind=eng)#ses.add(ed1_user)#ses.add(ed2_user)#ses.commit()
(完)
- Python 3.x之数据库框架Sqlalchemy操作SQlite(续)
- Python 3.x之数据库框架Sqlalchemy操作SQlite
- python数据库操作SQLAlchemy
- python操作之SQLAlchemy
- Python:数据库操作模块SQLAlchemy
- Python:数据库操作模块SQLAlchemy
- python Flask-SQLAlchemy操作数据库
- Python:数据库操作模块SQLAlchemy
- Python的数据库ORM框架:SQLAlchemy
- Python的数据库ORM框架:SQLAlchemy
- Python的数据库ORM框架:SQLAlchemy
- python与数据库sqlalchemy框架简述
- Python的数据库ORM框架:SQLAlchemy
- python SQlite数据库操作
- Python 操作SQLite数据库
- Python操作SQLite数据库
- Python 操作sqlite数据库
- python操作sqlite数据库
- VB Dir 造成 run-time error 52 bad bad file name or number
- string数组合并
- java 字符串加密与解密
- 关于likely()与unlikely函数
- Epon端口网速修改
- Python 3.x之数据库框架Sqlalchemy操作SQlite(续)
- ServletContext实现转发和读取Properties配置文件
- FLV文件格式分析
- VC中操作excel
- myeclipse6.5注册码
- 在状态栏中添加一个时钟功能
- Linux usb_device usb_bus usb_driver的三角关系-USB Bus
- 《Linux那些事儿之我是USB》我是U盘(30)彼岸花的传说(The End)
- 根据时间方式获取Sequence便于数据库操作