РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
362 of 643 menu

Атрибут metadata

Атрибут metadata применяется к классу SQLAlchemy и возвращает объект MetaData. Этот объект хранит описание всех таблиц, столбцов, индексов и ограничений, которые были определены в приложении. Атрибут не принимает параметров и доступен только для чтения. Его удобно использовать для создания таблиц через create_all и удаления через drop_all.

Синтаксис

db.metadata

Пример

Давайте создадим приложение Flask с подключением к базе данных SQLite и выведем информацию о метаданных:

from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50)) with app.app_context(): res = list(db.metadata.tables.keys()) print(res)

Результат выполнения кода:

['user']

Пример

Давайте создадим все таблицы, описанные в метаданных, и выведем список столбцов таблицы user:

from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50)) with app.app_context(): db.create_all() res = [col.name for col in db.metadata.tables['user'].columns] print(res)

Результат выполнения кода:

['id', 'name']

Пример

Давайте проверим, содержит ли объект metadata определённую таблицу:

from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50)) with app.app_context(): res = 'user' in db.metadata.tables print(res)

Результат выполнения кода:

True

Смотрите также

  • класс SQLAlchemy,
    который предоставляет доступ к базе данных
  • метод create_all,
    который создаёт таблицы из метаданных
  • метод drop_all,
    который удаляет таблицы из метаданных
  • атрибут Model,
    который является базовым классом для моделей
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить