Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Django: Databázový model podruhé

Jirka Vejrazka
Jirka Vejrazka (neregistrovaný) 195.27.20.---
4. 9. 2009 21:34

Zjistovani vygenerovaneho SQL

Ja bych si jenom dovolil doplnit, ze vygenerovane dotazy se do connection.queries ukladaji jenom pokud je v settings.py nastaveno DEBUG = True (a je to mimochodem hlavni duvod, proc si zacatecnici stezuji na memory leak v Djangu).

Pokud chceme zjistit SQL, je jednodussi na QuerySet objektu pouzit .query.as_sql()

store_brno = Store.objects­.filter(id=3)[0]
print store_brno.qu­ery.as_sql()

Snad to nekomu pomuze.

Jirka

Jirka Vejrazka
Jirka Vejrazka (neregistrovaný) 195.27.20.---
4. 9. 2009 23:45

Re: Zjistovani vygenerovaneho SQL

Ehm, v tom prikladu mam samozrejme chybu, protoze store_brno neni QuerySet. Predstavte si, ze na za filter(…) neni ono [0] :-)

Honza Kral
Honza Kral (neregistrovaný) 12.157.240.---
7. 9. 2009 5:05

Re: Zjistovani vygenerovaneho SQL

Ja jeste doplnim: nespolehejte na tohle. Je to tvar SQL __PRED__ expanzi a escapovanim promennych, casto to ani neni validni SQL. Pokud chcete 100% jistotu, pouzijte query log ve vasi DB.

Zasílat nově přidané příspěvky e-mailem