Как создать связь в таблицах, используя sqlalchemy

У меня есть модель Profile, в которой хранятся данные о пользователе. Я хочу реализовать подписки! Где каждый пользователь может подписываться и отписываться от других пользователей. вот модель

class ProfileModel(Base):
    __tablename__ = 'Profile'
    
    id: Mapped[int] = mapped_column(primary_key = True)
    ...
   
    subscribers: Mapped[list['Subscription']] = relationship(back_populates = 'subscriber', foreign_keys = 'Subscription.subscriber_id')
    subscription: Mapped[list['Subscription']] = relationship(back_populates = 'target_user', foreign_keys = 'Subscription.target_user_id')

class Subscription(Base):
    __tablename__ = 'subscriptions'
    id = Column(Integer, primary_key=True)
    subscriber_id = Column(Integer, ForeignKey('Profile.id'), nullable=False)
    target_user_id = Column(Integer, ForeignKey('Profile.id'), nullable=False)
    subscriber: Mapped['ProfileModel'] = relationship(foreign_keys=[subscriber_id])
    target_user: Mapped['ProfileModel'] = relationship(foreign_keys=[target_user_id])
    
    def __init__(self, subsciber, targer_user):
        self.subscriber = subsciber
        self.target_user = targer_user

при обращении profile.subscribers я получаю модель Subscription. Как сделать так, чтобы я получал список пользователей (ProfileModel) а не Subscription


Ответы (0 шт):