Справочник · модуль 15 «Веб-приложение на FastAPI»

База в запросе IF

Функция маршрута сама открывает базу, выполняет запрос со знаками ? и делает commit, если данные меняются. Так сервис помнит данные между запросами. Номер новой записи лежит в lastrowid.

Сравнение из жизни

Как администратор, который каждый раз заглядывает в журнал.

Пример

main.py
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.

В этом же уроке