当前位置:Gxlcms > 数据库问题 > sqlalchemy orm

sqlalchemy orm

时间:2021-07-01 10:21:17 帮助过:22人阅读

sqlalchemy import create_engine, MetaData from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker, scoped_session engine = create_engine("mysql+pymysql://账号:密码@114.116.54.66:3306/db_bi") Session = sessionmaker(bind=engine) dbsession = scoped_session(Session) 获取引擎 Base = declarative_base() md = MetaData(bind=engine) 数据库连接
from datasource.db.engine import Base, md
from sqlalchemy import Table

#表模型
class Bargain(Base):
    __table__ = Table("tb_bargain", md, autoload=True)

建立 表模型
dbsession.query(Bargain).order_by(desc(Bargain.follow_date)).limit(1).all()

查询时间最大的那一条
follow_obj = follow_dbsession.query(Follow, Employee).join(Employee, Follow.EmpID == Employee.FYEmpID).filter(
            Follow.FlagTrashed == False,
            Follow.FlagDeleted == False,
            Follow.FollowID != "",
            Follow.DeleteAt.is_(None),
            Follow.FollowType.in_(
                [业主, 其他, 去电, 售后拜访, 议价,
                 扫雷, 收意向, 收意向金, 来电, 空看,
                 签单, 签合同]),
            Follow.FollowDate > where2_obj.operation_date)

连表查询 
 for i in follow_obj:
            owner_pay_obj = OwnerPay(follow_id=i[0].FollowID, property_id=i[0].PropertyID, employee_id=i[1].EmployeeID,
                                     structure_id=i[0].DeptID,
                                     operation_date=i[0].FollowDate,
                                     data_source="follow_" + str(datetime.datetime.now().year),
                                     update_at=time.strftime("%Y-%m-%d %H:%M:%S"))
            owner_pay_list.append(owner_pay_obj)  #

获取;连表查询 数据  连表时返回数据 第一个是数据是第一张表的,索引取1 是第二章表的数据

 

sqlalchemy orm

标签:pen   obj   ssi   for   数据   join   span   bar   eid   

人气教程排行