• flask orm


    src/db/modls.py

    # -*- coding: utf-8 -*-
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy import Column,String,Integer
    from sqlalchemy import create_engine
    Basic=declarative_base()
    
    class Index_shop_info(Basic):
       __tablename__ = "Index_shop_info"
       id = Column('id', Integer, primary_key = True)
       title = Column(String(50))
       link = Column(String(1024))
       sl_baozheng= Column(String(50))
       __table_args__ = {
           'mysql_charset': 'utf8'
       }
    
    
    class Shop_detail(Basic):
        __tablename__ = "Shop_detail"
        id = Column('id', Integer, primary_key=True)
    
        __table_args__ ={
            'mysql_charset': 'utf8'
        }
    
    
    engine = create_engine('mysql+mysqlconnector://root:root@127.0.0.1/xianyu', convert_unicode=True)
    metadata = Basic.metadata.create_all(bind=engine)
    

     

    orm

    from src.db import models
    from sqlalchemy.orm import sessionmaker
    from contextlib import closing
    def get_session():
        session=sessionmaker(bind=models.engine)()
        return session
    
    
    def query_all(session,table=None):
        with closing(session) as session:
            reuslt = session.query(table).all()
        return reuslt
    
    
    
    def add_object(session,rowobject):
        with closing(session) as session :
            result=session.add_all(rowobject)
            session.commit()
        return result
    
    def myfilter(session=None,tableclass=None,**kwargs):
        query_list=tableclass
        #{"字段":值}
        tiaojian_dic={getattr(tableclass,k):v for k,v in kwargs.items() }
        tiaojian_list=[k==v  for k,v in tiaojian_dic.items()]
        for k,v in tiaojian_dic.items() :
            tiaojian_list.append(k==v)
    
        query_list=session.query(tableclass).filter(*tiaojian_list)
    
        return query_list
    
    
    if __name__ == '__main__':
        session=get_session()
        #查所有
        query_all(session,models.Index_shop_info)
        #过滤
        result=myfilter(session=session,tableclass=models.Index_shop_info,sl_baozheng = '实力保证', id = 1)
        #增
        row_list=[models.Index_shop_info(title="test",link='test',sl_baozheng='test')]
        add_object(session,row_list)
    

      

  • 相关阅读:
    XP系统忘记密码解决方法
    实现一个简易的IoC框架(上)(此篇与Spring.NET无关,为自己手写IoC框架)
    Spring.NET教程(三)——对象的创建(基础篇)
    Spring.NET教程(二)——环境搭建(基础篇)
    Spring.NET教程(一)——控制反转(依赖注入)(基础篇)(转)
    递归与迭代
    软件研发人员考核的十项基本原则(转)
    ORACLE多表关联的update语句
    软件质量的分层控制方法
    技术研究与工程开发(转)
  • 原文地址:https://www.cnblogs.com/xzqpy/p/13597262.html
Copyright © 2020-2023  润新知