zoukankan      html  css  js  c++  java
  • 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)
    

      

  • 相关阅读:
    vue 当前页跳转并强制刷新
    (转)vue项目刷新当前页面
    查询sqlserver中表信息
    (转) 自旋锁和互斥锁
    Web API 自定义文件内容的定制类
    (转)缓存
    (转) redis的事务和watch
    ASP.NET MVC , ASP.NET Web API 的路由系统与 ASP.NET 的路由系统是怎么衔接的?
    (转) 分布式系统关注点——99%的人都能看懂的「熔断」以及最佳实践
    php项目权限系统设计
  • 原文地址:https://www.cnblogs.com/xzqpy/p/13597262.html
Copyright © 2011-2022 走看看