Получите SQL, который модель Django имеет (или звонил бы) на .save ()

Как можно получить SQL для .save модели Django (), т.е.

from django.db import models

class MyM(models.Model):
   text = models.TextField()

Как может Вы получать SQL, который создавался бы/использовался бы в следующем сценарии:

 >>> m = MyM(text="123")
 >>> m.save()
 # What SQL Django just run?

Спасибо!

5
задан Brian M. Hunt 4 March 2010 в 17:59
поделиться

1 ответ

Из FAQ по Django:

Как мне увидеть необработанные SQL-запросы Django работает? Убедитесь, что для параметра Django DEBUG установлено значение True. Затем просто сделайте следующее:

>>> from django.core.db import db  
>>> db.queries  
[{'sql': 'SELECT polls_polls.id,polls_polls.question,polls_polls.pub_date FROM polls_polls',   
'time': '0.002'}]  

db.queries доступен, только если DEBUG имеет значение True. Это список словарей в порядке выполнения запросов. Каждый словарь имеет следующее:
sql - необработанный оператор SQL
время - сколько времени потребовалось для выполнения оператора в секундах.
db.queries включает все операторы SQL - INSERT, UPDATES, SELECT и т. Д.

4
ответ дан 13 December 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: