Junior — Middle
70
Можете объяснить, что означает концепция агрегации в системах ORM?
Answer from AI
sobes.tech AI
Агрегация в системах ORM — это тип отношений между объектами, при котором один объект содержит ссылку на другой, но при этом объекты существуют независимо друг от друга. В отличие от композиции, где жизненный цикл вложенного объекта зависит от контейнера, при агрегации вложенный объект может существовать отдельно.
Например, у модели Order может быть ссылка на модель Customer. Если заказ удаляется, клиент всё равно остаётся в базе данных.
class Customer(Base):
__tablename__ = 'customers'
id = Column(Integer, primary_key=True)
name = Column(String)
class Order(Base):
__tablename__ = 'orders'
id = Column(Integer, primary_key=True)
customer_id = Column(Integer, ForeignKey('customers.id'))
customer = relationship('Customer')
Здесь Order агрегирует Customer.