我知道如何在模型上查詢現在。假設有一個Question
模式:如何在sqlalchemy中查詢表格
class Question(Base):
__tablename__ = "questions"
id=Column(...)
user_id=Column(...)
...
現在,我可以這樣做:
question = Session.query(Question).filter_by(user_id=123).one()
但是,現在,我有一個表(而不是模型)questions
:
questions = Table('questions', Base.metadata,
Column(id, ...),
Column(user_id, ...),
....)
如何將其作爲我對模型所做的事情來進行查詢?
Session.query(questions).filter_by(user_id=123).one()
這將報告錯誤:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "E:\Python27\lib\site-packages\sqlalchemy-0.6.3-py2.7.egg\sqlalchemy\orm\query.py", line 851, in filter_by
for key, value in kwargs.iteritems()]
File "E:\Python27\lib\site-packages\sqlalchemy-0.6.3-py2.7.egg\sqlalchemy\orm\util.py", line 567, in _entity_descriptor
desc = entity.class_manager[key]
AttributeError: 'NoneType' object has no attribute 'class_manager'
但是:
Session.query(questions).all()
是OK。
是filter_by
只適用於型號?我如何在表格上查詢?
是否有任何通過表查詢文檔? – JRodDynamite 2014-06-21 05:01:31
選擇直接暴露在表上;花了我一些時間來弄清楚:[Table.select](http://docs.sqlalchemy.org/en/latest/core/metadata.html#sqlalchemy.schema.Table.select) – chris 2016-08-19 14:23:09