[英]SQLAlchemy Query Dynamic Field
我的桌子上有很多列-
class Dummy(object):
__tablename__ = 'dummies'
c1 = Column(Integer)
c2 = Column(Integer)
c3 = Column(Integer)
...
cN = Column(Integer)
是否可以在不手動指定每個列名稱的情況下單獨查詢所有列? -
for i in range(1, N):
c_name = 'c%d' % i
dummy = DBSession().query(Dummy).filter_by(???=0).first()
謝謝。
您可以遍歷表中的列。 一,表:
from sqlalchemy.orm.attributes import manager_of_class
dummy_table = manager_of_class(Dummy).mapper.mapped_table
最后,查詢
for col in dummy_table.columns:
dummy = session.query(Dummy).filter(col == 0).first()
或者,也許實際上是通過比您展示的更加復雜的函數來生成一組特定的列。 在這種情況下,請使用getattr
。 不完全是。
for i in range(1, N):
c_name = 'c%d' % i
dummy = DBSession().query(Dummy).filter(getattr(Dummy, c_name) == 0).first()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.