Python 3.x之数据库框架Sqlalchemy操作SQlite(续)
2011-11-29 19:57
816 查看
接着前面讲解的Sqlalchemy框架。再举个例子。如下所示:
这个例子是参考别人的Code的。
(完)
这个例子是参考别人的Code的。
__author__ = 'minggxu9' import sqlalchemy from sqlalchemy import create_engine eng=create_engine('sqlite:///:memory:',echo=True) eng.execute("select 1").scalar() from sqlalchemy.ext.declarative import declarative_base Base=declarative_base() ######################################################### from sqlalchemy import join,Table,MetaData,\ select,func,\ and_,\ Column,ForeignKey,\ Integer,String,Text,Binary from 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的Django框架中使用SQLAlchemy操作数据库的教程
- Python的Django框架中使用SQLAlchemy操作数据库的教程
- Python 搞搞数据库 简单的SQLite操作前 之矩阵 matrix
- 临时数据库之python用sqlite3模块操作sqlite 推荐
- python之数据库操作(sqlite)
- (柯昌合)Android Sqlite 持久化框架。类似于hibernate的sqlite框架。不用写SQL语句,操作数据库
- Python学习笔记21:数据库操作(sqlite3)
- python sqlite3 连接到数据库,创建表,INSERT 、SELECT、UPDATE 、DELETE等简单操作
- Python学习笔记21:数据库操作(sqlite3)
- Python3操作数据库SqlAlchemy
- PythonWeb开发Django框架学习(十)数据库一对多和多对多操作
- Python操作数据库SQLite --------2
- Android数据库(SQLite)框架(5)——LitePal的修改和删除操作
- python数据库操作(1)--Mysql/Sqlite--DB-API
- Python Sqlite3数据库相关操作
- Stetho查看Afinal框架操作sqlite的数据库
- Python:数据库操作模块SQLAlchemy
- python数据库操作SQLAlchemy
- Android sqlite数据库操作通用框架AHibernate(1)