Python + Postgresql + PyQt | Поиск товаров по таблице

loneres

Новичок
Пользователь
Ноя 21, 2021
7
0
1
Здравствуйте, есть приложение на Python, PostgreSQL, PyQt5(UI)
Нужно исправить поиск.


Есть таблица в которую заносятся товары из базы данных postgreSQL.
Я сделал поиск и при вводе значений в QLineEdit тоесть,
я пишу Балка и он выводит мне весь список из таблицы в котором есть слово балка (Screenshot_1.jpg).

Но если я ввожу в поиск Балка 10 то он не находит ничего (Screenshot_2.jpg) а он должен вывести только балка 10.
Но в товаре написано Балка двутавровая - вес 1 м.п 10
И если я ввожу балка 10 то он должен выводить все товары где есть такое в названии.

Как можно это сделать или исправить?

Вот сам код поиска:
Python:
class Main_Metall(QWidget, Ui_main_window_ui):
    def __init__(self):
        super(Main_Metall, self).__init__()
        self.w = Main_filter()
        self.setupUi(self)
        
        self.btn_load.clicked.connect(self.populate)
        self.btn_search.clicked.connect(self.SearchModels)
        Main_Metall.populate(self)
        
    # вывод товаров в таблицу
    def populate(self):
        con = psycopg2.connect()
        cur = con.cursor()
        cur.execute("""SELECT item_uid, item, unit, "type", price, "number" FROM public.list """)
        self.tableWidget.setRowCount(0)
        for row, form in enumerate(cur):
            self.tableWidget.insertRow(row)
            for column, item in enumerate(form):
                self.tableWidget.setItem(row, column, QTableWidgetItem(str(item)))
        con.close()
        
    # поиск
    def SearchModels(self):
        # поле для ввода le_search
        name_search = self.le_search.text()
        for row in range(self.tableWidget.rowCount()):
            matching_items = self.tableWidget.findItems(name_search, Qt.MatchContains)
            if matching_items:
                item = self.tableWidget.item(row, 1)
                self.tableWidget.setRowHidden(row, name_search not in item.text().lower())
 

Вложения

  • Screenshot_1.jpg
    Screenshot_1.jpg
    217,3 КБ · Просмотры: 6
  • Screenshot_2.jpg
    Screenshot_2.jpg
    262,7 КБ · Просмотры: 6

Форум IT Специалистов