2013-03-23 3 views
0

У меня есть класс, похожее на это:SQLAlchemy: Множественный ForeignKeys одного и того же типа

class Component(Base): 
    __tablename__ = 'components' 

    id = Column(Integer, primary_key=True) 
    . 
    . 
    . 
    . 
    alternate1_id = Column(Integer, foreignkey("components.id"), nullable=True) 
    alternate2_id = Column(Integer, foreignkey("components.id"), nullable=True) 
    alternate3_id = Column(Integer, foreignkey("components.id"), nullable=True) 

    def __init__(self, catalog_number, component_type, manufacturer_pn, description): 
      self.catalog_number = catalog_number 
      self.component_type = component_type 
      self.manufacturer_pn = manufacturer_pn 
      self.description = description 

    def __repr__(self): 
      return "<Component('%s', '%s', '%s', '%s')>" % (self.catalog_number, 
                  self.component_type, 

alternate1, 2 и 3 представляют собой необязательные поля, которые указывают на альтернативный компонент для текущего экземпляра.

Как я могу создать три отношения, каждый из которых относится к каждому из идентификаторов?

+0

Я рекомендую создать связанную таблицу и не иметь нулевых внешних ключей. –

+1

Хорошо, спасибо. Я постараюсь сделать это. –

ответ

Смежные вопросы