zoukankan      html  css  js  c++  java
  • sqlalchemy增删改查

    ## 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()
  • 相关阅读:
    ****jQuery
    LANMPS 一键PHP环境安装包(转)
    微信支付授权目录填写规则
    ***四种参数传递的形式——URL,超链接,js,form表单
    WDCP控制面板安装卸载
    html meta标签使用总结(转)
    适合wordpress中文网站的seo优化插件 DX-Seo
    事件驱动框架(二)——状态机【转】
    深入剖析变长参数函数的实现【转】
    Makefile经典教程(一个很棒很清晰的讲解)【转】
  • 原文地址:https://www.cnblogs.com/lajiao/p/7751555.html
Copyright © 2011-2022 走看看