ฉันมีวัตถุแบบสอบถาม SQLAlchemy และต้องการรับข้อความของคำสั่ง SQL ที่คอมไพล์โดยมีพารามิเตอร์ทั้งหมดที่ถูกผูกไว้ (เช่นไม่มี%s
หรือตัวแปรอื่น ๆ ที่รอการเชื่อมโยงโดยคอมไพเลอร์คำสั่งหรือโปรแกรมภาษา MySQLdb เป็นต้น)
การเรียกstr()
ใช้การสืบค้นพบสิ่งนี้:
SELECT id WHERE date_added <= %s AND date_added >= %s ORDER BY count DESC
ฉันพยายามค้นหาใน query._params แต่มันเป็นคำสั่งที่ว่างเปล่า ฉันเขียนคอมไพเลอร์ของตัวเองโดยใช้ตัวอย่างsqlalchemy.ext.compiler.compiles
มัณฑนากรนี้แต่แม้แต่คำสั่งก็ยังมี%s
ที่ฉันต้องการข้อมูล
ฉันไม่สามารถเข้าใจได้ว่าเมื่อใดที่พารามิเตอร์ของฉันผสมกันเพื่อสร้างแบบสอบถาม เมื่อตรวจสอบออบเจ็กต์เคียวรีจะเป็นพจนานุกรมว่างเสมอ (แม้ว่าคิวรีจะทำงานได้ดีและเอ็นจิ้นจะพิมพ์ออกมาเมื่อคุณเปิดการบันทึกเสียงสะท้อน)
ฉันเริ่มได้รับข้อความว่า SQLAlchemy ไม่ต้องการให้ฉันรู้แบบสอบถามพื้นฐานเนื่องจากมันทำลายลักษณะทั่วไปของอินเทอร์เฟซของนิพจน์ API กับ DB-API ที่แตกต่างกันทั้งหมด ฉันไม่สนใจว่าการสืบค้นจะถูกดำเนินการก่อนที่ฉันจะพบว่ามันคืออะไร ฉันแค่อยากจะรู้!