老师这个一般是什么问题导致的

来源:4-1 ORM简介

慕设计4297810

2021-01-03

sqlalchemy.exc.InvalidRequestError: SQL expression, column, or mapped entity expected - got '<class ‘main.ones_project’>'
ones_project是我建的一个数据库表

写回答

4回答

NavCat

2021-01-11

下次贴代码这样贴:

//img.mukewang.com/szimg/5ffb2c040992f8fa05810384.jpg

0
0

NavCat

2021-01-03

return self.session.query(ones_project).get(1)

这里的ones_project传Orm类名试试

0
2
慕设计4297810
CREATE TABLE `ones_project` ( `uuid` varchar(255) DEFAULT NULL COMMENT 'ones里的项目id', `projectnumber` varchar(255) DEFAULT NULL COMMENT '项目编号', `projectname` varchar(255) DEFAULT NULL COMMENT '项目名称', `projecttype` varchar(10) DEFAULT '' COMMENT '类型 1 研发类(R,P) 2 市场类(C,M,S) ' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 这是建表语句
2021-01-03
共2条回复

慕设计4297810

提问者

2021-01-03

# 连接mysql数据库
engine = create_engine(***)
# 创建对象的基类
Base = declarative_base()
# 创建Session的基类
# 创建一个连接会话对象;需要指定是和那个数据库引擎之间的会话
Session = sessionmaker(bind=engine)


def to_dict(self):
   return {c.name: getattr(self, c.name, None) for c in self.__table__.columns}

class ones_daily_rpt_user(Base):
   __abstract__ = True
   __tablename__ = 'ones_daily_rpt_user'

   name = Column(String, comment="星充员工名称")
   status = Column(String, comment="是否统计每日提交报表,0:否,1:是")
   workid = Column(String, comment="星充员工工号")
   uuid = Column(String, comment="ones里的用户id")


class ProjectInfo(object):
   def __init__(self):
       self.session = Session()

   def getProject_one(self):
       # 查询一条数据
       return self.session.query(ones_project).get(1)


projectInfo  = ProjectInfo()
res = projectInfo.getProject_one()
print(res)

0
1
NavCat
__abstract__ = True 这行去掉试试
2021-01-11
共1条回复

NavCat

2021-01-03

应该是你的SQL语法错误,你贴下代码吧

0
0

Python操作三大主流数据库-MySQL+MongoDB+Redis

一次实战同时掌握Python操作MySQL,MongoDB,Redis 三大数据库使用技巧

2024 学习 · 376 问题

查看课程