Python + Kivy: как добавить переменную к кнопке
Обрабатываю получаемые значения от пользователя и в далее заношу их в базу. И что бы не лепить бутерброд из запросов, я пытаюсь получить по нажатии на кнопку имя таблицы необходимой для запроса.
<XZ_Screen>:
ScreenFrame:
BoxLayout:
orientation: 'vertical'
cols: 2
size_hint: 1, 1
BoxLayout:
orientation: 'horizontal'
cols: 1
size_hint: 1, 1
Button:
text: "zavod_1_92_25" < ----------------------------
id: zavod1
on_press: root.test(zavod1)
on_press: app.root.current = 'save'
Button:
text: "2 - 92\n\n25m2"
on_press: app.root.current = 'save'
Обратите внимание, проблема именно тут "zavod_1_92_25" мне необходимо записывать именно так, иначе переменная barrel не получит верное название таблицы в SQL
** Есть ли способы сделать нормальное название, а "zavod_1_92_25" передавать в качестве значения?**
barrel = ''
class XZ_Screen(Screen):
def test(self, zavod1):
global barrel
barrel = zavod1.text
print(barrel)
z = [max_id, text_1.text, text_2.text, text_3.text, text_4.text, data]
print(z)
postgres_insert_query = """ INSERT INTO {table} (id, first_check, reload, second_check, count, date)
VALUES (%s,%s,%s,%s,%s,%s)"""
record_to_insert = (z)
cursor.execute(postgres_insert_query.format(table=barrel), record_to_insert)
Ответы (1 шт):
Автор решения: Yan Wolf
→ Ссылка
Я нашел решение)) Тут ставим как нам надо.
Button:
text: "2 - 92\n\n25m2" < ----------------------------
id: zavod1
on_press: root.test(zavod1)
on_press: app.root.current = 'save'
Тут присваиваем новое значение, zavod1.text = "zavod_1_92_25"
barrel = ''
class XZ_Screen(Screen):
def test(self, zavod1):
global barrel
zavod1.text = "zavod_1_92_25"
barrel = zavod1.text
print(barrel)
Ну вот и все)