SQLAlchemy.Один ко многим к себе
Могу ли я сделать отношение в SQLAlchemy, так, чтобы экземпляр объекта хранил в себе несколько других экземпляров этого же класса?Чтобы было понятнее: у меня есть таблица пользователей, и каждый пользователь может иметь,например,подписчиков, которые тоже являются пользователями. Можно ли это реализовать при помощи sqlalchemy.orm.relationship или других инструментов SQLAlchemy?Заранее спасибо!
Ответы (1 шт):
Автор решения: chmutovsergey
→ Ссылка
Да, можете. У вас в таблице Users, должно быть поле id_user и pid_user (ид родительского пользователя).
Модель такой таблицы на алхимии будет следующей:
class User(Base):
__tablename__ = 'user'
id_user = Column(Integer, primary_key=True, unique=True)
pid_user = Column(ForeignKey('user.id_user', ondelete='CASCADE', onupdate='CASCADE'), index=True)
name = Column(String(15))
respondent = relationship('User', remote_side=[id_user])