В QTableView не отображаются данные из таблицы базы MySQL

Данные из таблицы читаю, в таблицу пишу.
Qt Designer 5.11, Python 3.12.
Буду благодарен за подсказку!

    from PyQt6 import QtWidgets
    from PyQt6.QtWidgets import QApplication, QMainWindow
    from PyQt6.QtSql import QSqlTableModel
    from mysql.connector import connect, Error
    import pymysql
    import pymysql.cursors
    from test_nt import Ui_MainTestNT


    class nntt (QMainWindow):
        def __init__ (self):
            super(nntt, self).__init__()

            self.ui = Ui_MainTestNT()
            self.ui.setupUi(self)
            self.view_data()

        # Соединение с БД
        try:
            connection = pymysql.connect(
                host="localhost",
                port=3306,
                user="hd_main",
                password="********",        
                database="hdoh_db",
                cursorclass=pymysql.cursors.DictCursor
            )
            # Проверка соединения с БД
            print ("OK")

        except Error as e:
            print(e)

        # Отображение исходных данных
        def view_data(self):
            self.model = QSqlTableModel(self)
            self.model.setTable("new_table")
            self.model.select()
            self.ui.tableView.setModel(self.model)


    if __name__ == "__main__":
        app = QApplication(sys.argv)
        window = nntt()
        window.show()
        sys.exit(app.exec())

Ответы (1 шт):

Автор решения: Allito

У вас же не заданы настройки для подключения к серверу MySQL. В блоке try - except вы проверяете соединение с сервером с помощью pymysql.connect, при этом у блока отступы неверные - он не запускается в init (при создании объекта). И вам необходимо использовать QSqlDatabase для подключения к базе. Например так:

 con = QSqlDatabase.addDatabase("QMYSQL/MARIADB")
 con.setDatabaseName(name)
 con.setHostName(host)
 con.setUserName(username)
 con.setPassword(password)  # хотя этот вариант небезопасный

Доступно описано здесь https://is20-2019.susu.ru/utkinaea/2021/03/15/obrabotka-baz-dannyh-sql-s-pomoshhyu-pyqt-osnovy/#id16

→ Ссылка