Junior — Middle
95
Hogyan magyaráznád az imperatív objektum-tábla leképezés fogalmát az SQLAlchemy-ben?
Válasz az MI-től
sobes.tech MI
Императивное сопоставление объектов с таблицами (Imperative Mapping) в SQLAlchemy — это способ явно описать, как классы Python связаны с таблицами базы данных, используя код, а не декларативный стиль.
Вместо объявления классов с помощью декларативного базового класса, вы создаёте таблицы и классы отдельно, а затем связываете их с помощью функции mapper().
Пример:
from sqlalchemy import Table, Column, Integer, String, MetaData
from sqlalchemy.orm import mapper
metadata = MetaData()
user_table = Table('user', metadata,
Column('id', Integer, primary_key=True),
Column('name', String))
class User:
def __init__(self, name):
self.name = name
mapper(User, user_table)
Здесь:
user_table— описание таблицы в базе,User— класс Python,mapper()связывает класс с таблицей.
Такой подход даёт гибкость в настройке маппинга и полезен, когда нужно более явно контролировать процесс сопоставления, например, при работе с уже существующими таблицами или сложными схемами.