Как правильно использовать переменную базы данных?

Рейтинг: 1Ответов: 1Опубликовано: 08.01.2023

Суть в чём, у меня есть отдельный файл с классом базы данных, где она создается и выполняет небольшой функционал.

class Database():
    def __init__(self, db_file):
        self.conn = sqlite3.connect('models/{0}'.format(db_file))
        self.cursor = self.conn.cursor()

    def get_random_name(self, name):
        list_names = self.cursor.execute('SELECT name FROM {0}'.format(name)).fetchall()
        self.conn.close()
        return random.choice(list_names)[0]

После чего я создаю переменную этой базы данных и подключаюсь к ней из главного файла проекта app.py. Но мне нужно использовать функционал базы данных ещё в нескольких отдельных модулях, как это правильно сделать? Открывать заново базу данных в новых модулях будет ли считаться правильным? Или просто импортировать переменную базы данных из app во все другие модули? Как это сделать более правильно, подскажите пожалуйста.

Ответы

▲ 0Принят

Импортируйте класс в нужный модуль

создаете экземпляр класс

db = Database('db_file.db')

и вызываете метод db.get_random_name()
Главное не забудьте указать название файла базы данных и передать аргумент name