यदि आपको इसकी अक्सर आवश्यकता होती है, और/या गणना आपके Tab1
. का एक अभिन्न अंग है मॉडल, आपको अन्य उत्तर में वर्णित हाइब्रिड संपत्ति का उपयोग करना चाहिए। यदि दूसरी ओर आपको केवल एक प्रश्न के लिए इसकी आवश्यकता है, तो आप केवल Query.label()
का उपयोग करके अदिश उपश्रेणी बना सकते हैं , या Query.as_scalar()
:
count_stmt = session.query(func.count(1)).\
filter(Tab2.tab1_id == Tab1.id).\
group_by(Tab2.col1).\
label('cnt')
session.query(Tab1, count_stmt).filter(...).limit(100)
सबक्वेरी स्वचालित रूप से सहसंबंधित हो जाएगी कि वह संलग्न क्वेरी से क्या कर सकती है।