Распечатать код SQL QSqlModel
Есть ли способ напечатать код SQL QSqlTableModel/QueryModel, который отправляется в базу данных? (Я работаю с фильтрами и хотел бы использовать это в целях отладки)
Что-то вроде:
self.model = QSqlTableModel()
self.model.setTable("Person")
print(self.model.sql) #there is no command like .sql
1 ответ
Решение
Если вы хотите получить SQL, первое, что вам нужно сделать, это получить QSqlQuery, классы QSqlTableModel / QueryModel имеют метод query(), который возвращает это значение, а затем для получения sql, используемого в каком-либо запросе, используется метод lastQuery().,
В твоем случае:
print(self.model.query().lastQuery())