我想将结果返回到自定义模型(类),但我收到了以下错误消息:
SQL表达式、列或映射实体应为
我不知道哪里出了问题。
connect = Connector()
Session = sessionmaker(bind=connect.ConnectorMySql())
ses = Session()
query = u"""
SELECT
`reports`.ID As 'ID',
reports.Title AS 'ReportTitle',
`reports`.Text as 'ReporText',
`reports`.Status as 'Status',
`user`.ID AS 'ReporterID',
`user`.Name as 'ReporterName' ,
`user`.Username as 'ReporterUserName',
`user`.ImageProfile as 'ReporterAvatar',
`Clinet`.ID AS 'ClinetID',
`Clinet`.SiteUserName AS 'ClinetUserName',
`Clinet`.ImageProfile as 'ClinetAvatar'
FROM reports
JOIN Clinet on reports.ClinetID = `Clinet`.ID
JOIN users user on reports.UserID = `user`.ID
where
:pClinetID IS NULL OR reports.ClinetID=:pClinetID
AND
:pStatus IS NULL OR reports.Status=:pStatus;
"""
QueryResult=CustomModel()
QueryResult=ses.query(CustomModel).from_statement(query).all()
return QueryResult
要在SQLAlchemy中使用查询字符串,必须使用文本函数来处理它们。
所以你应该使用QueryResult=ses.query(CustomModel).from_statement(text(query)).all()