sqlalchemy将多个条目映射到相同的backref

时间:2017-06-25 04:09:11

标签: python sqlalchemy

也许这是一个设计问题,但我有一个案例,我有一个定义默认部分的类,以及alternate_parts。

 class Entity(Base):
    __tablename__ = "entity"
    id = Column(Integer, primary_key=True)

    part_id = Column(Integer, ForeignKey('part.id'))
    part = relationship("Part", backref="entities")
    alternate_parts = relationship("Part", secondary="associate_entity_to_parts", backref="entities")

    ...

 class Part(Base):
    __tablename__ = "part"
    id = Column(Integer, primary_key=True)      

    ...

这会引发错误:

sqlalchemy.exc.ArgumentError: Error creating backref 'entities' on relationship 'Entity.alternate_parts': property of that name exists on mapper 'Mapper|Parts|part'

这样做的目的是我希望能够反向查找引用此部分的任何实体,包括它们交替的部分。以这种方式存储替代品的原因是,这种方式我不必存储某种类型的"默认"部分ID在某处。

有什么建议吗?

0 个答案:

没有答案