в исполняемом файле. То есть, создаётся объект и курсор pymysql, конструируют свои объекты, всё отлично работает. Но дело в том, что я хочу использовать эти уже сконструированные из исполняемого файла объекты в других файлах и проблема заключается в том, что когда я импортирую из исходного файла этот объект курсора, import исполняет файл. Другими словами у меня происходит флуд в базу данных, когда я делаю импорт файла, где происходит подключение. Подскажите, как сделать получение текущих, уже сконструированных объектов в другом файле, для их использования?
Я начал читать про импорты, но пока что не понимаю. Совсем не опытен в Python.
Не используй pymysql там нету асинхронности. Надо асинхронный клиент найти, или вообще ОРМ типо sqlalchemy использовать!
А при чём тут асинхронность и зачем она мне в решении моей ошибки понадобится?
при том что aiogram асинхронный а ты пытаешься прицепить синхронный коннектор к нему
импорт исполняет файл, все верно
Ага, а что можешь посоветовать?
я посоветую забыть про глобальные переменные
заверни в функцию подключение к БД, и вызывай только в if name == "main":
сорьки, у меня мозги уже кипят, вылетело из головы, что ты мне написал что можно использовать
да, используй асинхронную ОРМ и не импортируй из скрипта бота ничего
ебать я довн, теперь я понял тебя, спасибо ещё раз)
https://t.me/ru_python/1478106 в функцию оберни
Да я понял понял, но теперь мне захотелось юзать aiomysql почему то
почему?
Ты ещё пилишь интернет магазин?)
Да, а у тебя хорошая память)
1. руками лезешь в луп 2. внутри if name main больше одной строки 3. глобальные переменные 4. хардкод адреса БД 5. тортойз
Ну, второе это не критично, особенно в период разработки. А что данные надо скрывать в переменных окружениях - бесспорно
меня больше первое напрягает.
почему тортойз - ужас? )
Окей, а как норм тогда будет?
я же кинул свой шаблон
Потому что стандартом дефакто является алхимия
А ну ка, я хочу глянуть
потому что какая-то непопулярная орм, сделанная с огласдкой на худшие практики джанги
https://github.com/Tishka17/tgbot_template
Алхимия пизже на мой взгляд
Ну я понял, но меня смутило то, что ты сказал, что в if name main больше одной строки. А почему не стоит там юзать более одной строки?
Aiogram..моё уважение
потому что в глобальном пространстве не должно быть бизнес логики. Только декларация констант/классов/функций.
Обсуждают сегодня