Атрибут name класса Table
Атрибут name класса Table хранит имя
таблицы в базе данных в виде строки. Это имя
указывается при создании объекта таблицы первым
позиционным аргументом и используется при генерации
SQL-запросов, создании схемы и обращении к таблице
через метаданные. Атрибут доступен только для
чтения и не может быть изменен после создания
объекта.
Синтаксис
table.name
Пример
Давайте создадим таблицу и выведем ее имя:
from sqlalchemy import Table, Column, Integer, String, MetaData
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String)
)
print(articles.name)
Результат выполнения кода:
"articles"
Пример
Давайте используем атрибут name для
построения SQL-запроса вручную:
from sqlalchemy import Table, Column, Integer, String, MetaData, text
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String)
)
query = text(f"SELECT * FROM {articles.name}")
print(query)
Итоговый SQL запрос:
SELECT * FROM articles
Пример
Давайте сравним атрибуты name и
key на примере таблицы:
from sqlalchemy import Table, Column, Integer, String, MetaData
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String)
)
print(articles.name)
print(articles.key)
Результат выполнения кода:
"articles"
"articles"