Bir SQLAlchemy sorgu nesnem var ve derlenmiş SQL ifadesinin metnini tüm parametreleri bağlı olarak almak istiyorum (örneğin %s
, ifade derleyicisi veya MySQLdb diyalekt motoru, vb. Tarafından bağlanmayı bekleyen veya diğer değişkenler yok ).
str()
Sorguyu çağırmak şuna benzer bir şeyi ortaya çıkarır:
SELECT id WHERE date_added <= %s AND date_added >= %s ORDER BY count DESC
Sorgu._params'a bakmayı denedim ama bu boş bir söz. Bu sqlalchemy.ext.compiler.compiles
dekoratör örneğini kullanarak kendi derleyicimi yazdım , ancak oradaki ifade bile hala %s
veri istediğim yere sahip .
Sorguyu oluşturmak için parametrelerimin ne zaman karıştırıldığını tam olarak anlayamıyorum; sorgu nesnesini incelerken her zaman boş bir sözlüktürler (ancak sorgu iyi çalışır ve yankı günlüğünü açtığınızda motor onu yazdırır).
SQLAlchemy'nin tüm farklı DB-API'leri ifade API arayüzünün genel yapısını bozduğu için temeldeki sorguyu bilmemi istemediği mesajını almaya başladım. Ne olduğunu bulmadan önce sorgunun çalıştırılması umurumda değil; Sadece bilmek istiyorum!