![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
## test_module.py
from user_modules import User,session
def add_user():
person=User(username='haha',passwd='123')
#session.add(person)
session.add_all([
User(username='nanian', passwd='123qw'),
User(username='nihao', passwd='123')
])
session.commit()
def search_user():
row=session.query(User).all()
row =session.query(User).filter_by(id=1).all()
##filter比filter_by查询麻烦,filter需带入类名,加==条件
row =session.query(User).filter(User.username=='nanian').all()
#print(row)
print(row[0].locked)
#还可以直接在user_modules写好查询函数
def update_user():
row=session.query(User).filter_by(username='nanian').update({User.passwd:'123qwe'})
session.commit()
def delete_user():
row=session.query(User).filter_by(username='haha')[0]
session.delete(row)
session.commit()
if __name__=='__main__':
#add_user()
#search_user()
#调用module写好的查询条件查询
#print(User.by_name('nanian'))
#update_user()
delete_user()
View Code
## user_modules.py
from datetime import datetime
from sqlalchemy import Column,Integer,String,Boolean,DateTime
from connect import Base,session
class User(Base):
__tablename__='user'
id=Column(Integer,primary_key=True,autoincrement=True)
username=Column(String(20),nullable=False)
passwd=Column(String(50),nullable=False)
createtime=Column(DateTime,default=datetime.now)
_locked=Column(Boolean,default=False,nullable=False)
#在modules中写好查询条件,使用时直接调用
@classmethod
def all(cls):
return session.query(cls).all()
@classmethod
def by_name(cls,username):
return session.query(cls).filter_by(username=username).all()
@property
def locked(self):
return self._locked
def __repr__(self):
return '<User(id=%s,username=%s,passwd=%s,createtime=%s,_locked=%s)>'%(
self.id,
self.username,
self.passwd,
self.createtime,
self._locked
)
if __name__=='__main__':
Base.metadata.create_all()