[英]SqlAlchemy adding "string" as a column in results
candidates = db_session.query(
Jobs.candidate_id, ## is there a way to eliminate this?
'Good' ## How do I add this as a column for every person?
Resumes.resume
).outerjoin(
(Resumes, Resumes.candidate_id == Jobs.candidate_id),
).outerjoin(
(Candidate, Candidate.candidate_id == Jobs.candidate_id)
有没有办法可以将Good
作为每个结果的第一列添加?
此外,我可以在不破坏outerjoin
的情况下从Query
中消除Jobs
类别吗?
更新 -
can = db_session.query(
sqlalchemy.sql.expression.literal_column("Good"),
Jobs.candidate_id
我收到此错误:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: Good
我正在使用 SQLite。
您的更新非常接近:使用literal_column,但请确保将值放在单引号中。
在你的情况下:
sqlalchemy.sql.expression.literal_column("Good"),
应该:
sqlalchemy.sql.expression.literal_column("'Good'"),
您的整个查询将如下所示:
candidates = db_session.query(
Jobs.candidate_id, ## is there a way to eliminate this?
sqlalchemy.sql.expression.literal_column("'Good'").label("optional_column_name"),
Resumes.resume
).outerjoin(
(Resumes, Resumes.candidate_id == Jobs.candidate_id),
).outerjoin(
(Candidate, Candidate.candidate_id == Jobs.candidate_id)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.