Справочник · модуль 15 «Веб-приложение на FastAPI»
База в запросе IF
Функция маршрута сама открывает базу, выполняет запрос со знаками ? и делает commit, если данные меняются. Так сервис помнит данные между запросами. Номер новой записи лежит в lastrowid.
Сравнение из жизни
Как администратор, который каждый раз заглядывает в журнал.
Пример
import sqlite3
def get_db():
conn = sqlite3.connect("notes.db")
conn.execute("CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, text TEXT)")
return connУчитель в уроке Сначала помощник, который открывает базу. Данные лежат в файле notes точка db. Слова IF NOT EXISTS значат: если таблицы ещё нет, создай её. Каждая функция маршрута будет звать get_db и работать со своим подключением.
Запомнить
База в запросе — как продавец, который на каждый вопрос заглядывает в журнал. Поэтому ответы всегда свежие.
Тема из урока 15.5 «API и база данных» курса PythonAZ.