मेरे पास SQLAlchemy में एक बहुत ही सरल क्वेरी है जो ठीक काम कर रही है, जैसे कुछ:

query = session.query(MyModel)
query = query.filter(MyModel.col1 == 'foo')
# .. additional filters here...
result = query.limit(50).all()

यह एक परिणाम देता है जो टाइप list है - मैं session.execute() का उपयोग किए बिना ResultProxy ऑब्जेक्ट कैसे वापस कर सकता हूं? मैं वैकल्पिक फ़िल्टर पैरामीटर के साथ एक गतिशील क्वेरी बनाने के लिए query() विधि का उपयोग कर रहा हूं, लेकिन ResultProxy ऑब्जेक्ट में कुछ विशेषताएं हैं जिनका मैं उपयोग करना चाहता हूं (उदाहरण के लिए rowcount)।

SQLAlchemy के साथ सबसे भ्रमित करने वाली चीजों में से एक शायद क्वेरी विधियों और इसकी execute विधियों के बीच का अंतर है। क्या कोई इसे उदाहरण के साथ स्पष्ट करने में मदद कर सकता है?

0
Everett 10 सितंबर 2019, 22:48

1 उत्तर

सबसे बढ़िया उत्तर

आह, यह मेरे विचार से आसान था: बस session.execute(query) का उपयोग करें:

query = query.limit(50).offset(0)
result_proxy = session.execute(query)
print(result_proxy.rowcount)
0
Everett 10 सितंबर 2019, 19:55