Я не разбираюсь в Elixir, но вот как вы можете сделать это, используя декларативную SQLAlchemy.Надеемся, что определение Elixir будет достаточно схожим, так что это поможет вам.
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Employee(Base):
__tablename__ = 'employee'
id = Column(Integer, primary_key=True)
name = Column(String(64), nullable=False)
Employee.manager_id = Column(Integer, ForeignKey(Employee.id))
Employee.manager = relationship(Employee, backref='subordinates',
remote_side=Employee.id)
Обратите внимание, что поля manager
и manager
_id «заштрихованы», потому что вы не можете создавать собственные ссылки внутри классаопределение.