使用SQLAlchemy ORM(聲明式表單),您如何以編程方式從字典中的一組條件創建查詢?SQLAlchemy(ORM,聲明式):如何從字典中的鍵/值構建查詢?
我希望在用戶表中搜索匹配先前在字典中收集的某些條件的記錄。我不能提前知道哪個字段將被使用,並且必須能夠處理某些字段是整數,有些是字符串,可以有很多不同的領域,等等
例子:
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
email = Column(String)
兩個查詢已請求,導致以下類型的字典:
q1_dict = {'id' : 177}
q2_dict = {'name' : 'Johnny', 'email' : '[email protected]'}
是否有任何簡單/通用的方式,我可以從這兩個類型的字典創建我的查詢,單純依靠該鍵相匹配的屬性的事實用戶類,正確處理類型,au包括不安全的值,等等?
我花了好幾個小時搜索這個,並瀏覽SQLAlchemy文檔,但似乎無法找到任何好的答案/例子。
解決方案:
所以,從你們的幫助之後,該解決方案似乎是那樣簡單:
User.query.filter_by(**q1_dict)
User.query.filter_by(**q2_dict)
...去在這個例子中所需要的兩個查詢。
我已經看過你提供的鏈接,dagoof,但是我想我的「python」還不夠強大,無法自行解決問題。 :)
? –