from sqlalchemy import String from api.database import (Model, SurrogatePK, db, Column, reference_col, relationship) from api.target_exchange.models import TargetExchange class Target(SurrogatePK, Model): __tablename__ = "target" name = Column(String(255), unique=True, nullable=False) routing_key = Column(String(255), nullable=False) target_exchange_id = reference_col(TargetExchange.__tablename__, nullable=False) exchange = relationship(TargetExchange.__name__, backref=db.backref("targets")) def __init__(self, **kwargs): super(Target, self).__init__(**kwargs) def __repr__(self): return f'<{Target.__name__}({self.id}):{self.routing_key!r}->{self.exchange.name!r}>'