from sqlalchemy import Column, Integer, ForeignKey from sqlalchemy.orm import relationship from crudkit.core.base import CRUDMixin from muck.models.dbref import Dbref, ObjectType class Exit(Dbref): __tablename__ = "exits" id = Column(Integer, ForeignKey("dbref.id"), primary_key=True) destination_id = Column(Integer, ForeignKey("dbref.id"), nullable=True) destination = relationship("Dbref", remote_side=[CRUDMixin.id], foreign_keys=[destination_id]) __mapper_args__ = { "polymorphic_identity": ObjectType.EXIT }