मेरे पास SQLAlchemy क्वेरी ऑब्जेक्ट है और संकलित SQL कथन का पाठ प्राप्त करना चाहते हैं, जिसके सभी पैरामीटर बाध्य हैं (उदाहरण %s
कथन कंपाइलर या MySQLdb बोली इंजन, आदि द्वारा बाध्य होने की प्रतीक्षा कर रहे हैं।
str()
क्वेरी पर कॉल करने से कुछ इस तरह का पता चलता है:
SELECT id WHERE date_added <= %s AND date_added >= %s ORDER BY count DESC
मैंने क्वेरी में देखने की कोशिश की है ।_परम्स लेकिन यह एक खाली तानाशाही है। मैंने डेकोरेटर के इस उदाहरण काsqlalchemy.ext.compiler.compiles
उपयोग करके अपना खुद का कंपाइलर लिखा था , लेकिन यहां तक कि बयान में अभी भी वह %s
जगह है जहां मुझे डेटा चाहिए।
जब मेरा पैरामीटर क्वेरी बनाने के लिए मिलाया जाता है, तो मैं इसका पता नहीं लगा सकता; क्वेरी ऑब्जेक्ट की जांच करते समय वे हमेशा एक खाली शब्दकोश होते हैं (हालांकि क्वेरी ठीक निष्पादित होती है और जब आप ईको लॉगिंग चालू करते हैं तो इंजन इसे प्रिंट करता है)।
मुझे यह संदेश मिलना शुरू हो गया है कि SQLAlchemy मुझे अंतर्निहित क्वेरी को जानना नहीं चाहता है, क्योंकि यह अभिव्यक्ति एपीआई के इंटरफ़ेस के सभी अलग-अलग DB-APIs की सामान्य प्रकृति को तोड़ता है। इससे पहले कि मुझे पता चले कि क्या हुआ था, मुझे इस पर कोई आपत्ति नहीं है; मै सिर्फ जानना चाहता हूँ!