欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sqlalchemy.orm 多条件查询更新

程序员文章站 2024-03-02 21:46:34
...

 

sqlalchemy.orm 多条件

 datas = session.query(Stock).filter(and_(Stock.now_price<25,Stock.type==0,Stock.liutongzhi<200,Stock.huanshou<10,Stock.zhangfu<5,Stock.shiying<200)).all()
    print(len(datas))

但是我在实际拉取的时候发现 , 不管我里边有多少条数据, all() 返回的一直只有一条结果,如果我去掉filter条件的话又能返回很多的数据,那么到底是什么阻止了多条数据的返回呢。

最后查询返现, 是因为在定义model 的时候,我将sns_id定义成了 

primary_key = True
 

直接更新

from stock.models.db_bysql import DB_bysql
from stock.models.db_model import Day_his, Stock
from stock.stock_info import get_stock_info
from stock.tools.stock_tool import get_code

engine = create_engine('sqlite:///stock.db?check_same_thread=False', echo=False)
Session = sessionmaker(bind=engine)

session = Session()

 datas= session.query(Stock).all()

  for stock in datas:
        stock.name = info[1]
    session.flush()
    session.commit()