Файлы это отдельная таблица - у каждого файла есть groupid и studentid - чтобы знать кто его загрузил и для какой он группы, храниться они могут на диске в виде файлов - в таблице храним лишь путь к нему. Можно даже в отдельных папках для группы - чтобы без таблиц можно было понять чей он.
Какой ужас!
Вам нужно прочитать про хранение данных какой либо материал.
У вас студенты - это одна таблица, группы это вторая таблица. Староста это такой же студент но у него поле "староста"=True . Каждый студент имеет поле groupid которое указывает на его группу - и не надо делать несколько таблиц.
А потом читать про работу с SQLAlcemy. Каждый класс представляет класс данных: студент, группа - он один на всю таблицу, каждая строка таблицы это экземпляр класса.
Я как то писал к програмке на C# вебинтерфейс и узнал что в .Net 4 нет встроенных функций и библиотек для парсинга и генерации JSON - нужно какую то стороннюю либу прикручивать. Плюнул и написал сериализатор в коде. И во всех классах которые нужно выгружать - тоже мини сериализаторы через формат.
Как вариант еще не сразу писать в базу а создать SQL файл, может даже его разбить на куски.
Также можно попробовать загонять всю компанию в одну транзакцию а то у вас там autocommit как я понял - и куча маленьких запросиков на каждый сервис - это не эффективно.
Я исправил, не та функция оказалась. На ней нужно фильр получше делать так как там и другие события идут.
Вообще могли бы и сами попробовать - рыться в документации полезно.
P.S. Вообще я хотел изучить всю документацию, но потом стало лень и вот изучаю с вопросами по маленьку)))
Если нужно тыкать кнопки - как это бы делал пользователь - то нужно эмулировать браузер. А если по простому - каждая кнопка инициирует запрос с какими либо параметрами - вот и из питона отправлять такой же запрос.
Запрсы можно увидеть на вкладке Network консоли разработчика в браузере( F12). В любом случае вначале надо смотреть сайт в браузере.
Я думал запускать в песочнице чтобы отследить цепочку взлома - 192.168.1.1 что это за внутренний адрес?
так можно искать 0-Day уязвимости в момент попытки использования.
Я сомневаюсь что такой ресурс существует. Впринципе. Попадется какой нибудь развод, где основная задача это деньги получить - это факт.
Люди которые обладают знаниями и могут ответить быстро и по теме - не будут сидеть по таким ресурсам.
Тебе придется их(консультантов) найти как-то, и уговаривать вникать в твой вопрос, предлогать поработать на тебя. Но согласятся они или нет зависит от их интереса, потому что у них таких предложений много и есть из чего выбрать.
Сори я спутал с GTK.
Tkinter жуткое говно, и у комманды тут не передается событие как в GTK - тупой вызов без аргументов.
Только персонализированные(уникальные) функции на каждую кнопку, но их можно сделать через лямбды.