Здравствуйте, не могу решить проблему.
Я создал кнопку и 2 таблицы данные внутри показываются через базу данных PostgreSQL.
Мне нужно чтобы при выборе ячейки таблицы и после нажатия на кнопку, не одна ячейка которая была выбрана а вся строка выбранной ячейки, перенеслась в другую таблицу базы данных. Именно чтоб выбранная мышкой в таблице товар при нажатии на кнопку переносился в другую таблицу
Как можно это сделать? Я делаю но почему то могу перенести только одну ячейку которую выбрал,а нужно всю строку этой ячейки.
Снизу код таблицы и функции которой я пытался перенести данные а так же на скриншотах база данных
Вот код показывающий таблицу 1:
Вот код который должны по нажатию кнопки переносить данные в другую таблицу: ()
Я создал кнопку и 2 таблицы данные внутри показываются через базу данных PostgreSQL.
Мне нужно чтобы при выборе ячейки таблицы и после нажатия на кнопку, не одна ячейка которая была выбрана а вся строка выбранной ячейки, перенеслась в другую таблицу базы данных. Именно чтоб выбранная мышкой в таблице товар при нажатии на кнопку переносился в другую таблицу
Как можно это сделать? Я делаю но почему то могу перенести только одну ячейку которую выбрал,а нужно всю строку этой ячейки.
Снизу код таблицы и функции которой я пытался перенести данные а так же на скриншотах база данных
Вот код показывающий таблицу 1:
Python:
import psycopg2
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)
Main_Metall.populate(self)
def populate(self):
con = psycopg2.connect("dbname=client_ user=su_ host=195.93.152.122 password=VN0st1")
cur = con.cursor()
cur.execute("""SELECT 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):
# print(str(item))
self.tableWidget.setItem(row, column, QTableWidgetItem(str(item)))
con.close()
Вот код который должны по нажатию кнопки переносить данные в другую таблицу: ()
Python:
self.btn_add_cart.clicked.connect(self.ReverseData)
def ReverseData(self):
row = self.tableWidget.currentIndex().row()
if row == -1:
QMessageBox()
QMessageBox.about(self, "Уведомление", "выберите")
return
database_connection = psycopg2.connect(
"dbname=client_ user=su_ host=195.93.152.122 password=VN0st1")
database_cursor = database_connection.cursor()
# вытаскивает ячейку из таблицы и заносит в переменную
sTest = self.tableWidget.model().data(self.tableWidget.currentIndex())
# выборка элементов
table_item = self.tableWidget.currentItem().text()
table_unit = self.tableWidget.currentItem().text()
table_type = self.tableWidget.currentItem().text()
table_price = self.tableWidget.currentItem().text()
table_number = self.tableWidget.currentItem().text()
print(" \n Выбран строка-элементы: ", " ", table_item, table_unit, table_type, table_price, table_number)
# кортедж элементов
table_object = [table_item, table_unit, table_type, table_price, table_number]
# запрос на добавление
database_cursor.execute(
'INSERT INTO public.zakaz (item, unit, "type", price, "number") VALUES (%s, %s, %s, %s, %s)',
table_object)
# закрытие БД
database_connection.commit()
database_connection.close()
database_cursor.close()