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 '<%s(%d):%r->%r>' % (Target.__name__, self.id, self.routing_key, self.exchange.name)