例如,有这样的模型:
class User(Base):
photo_id = Column(ForeignKey('photo.id'))
class Group(Base):
photo_id = Column(ForeignKey('photo.id'))
class Photo(Base):
__tablename__ = 'photo'
user = relationship('User', backref='photo')
group = relationship('Group', backref='photo')
但是在最后一个模型中,User
与 andGroup
的关系并不好,因为在一种情况下,第一个关系将是 None,而在另一种情况下,第二个关系将是 None(因为照片所有者只能是用户或组,但不能同时是两者)......如果有使用外键建模的模型超过 2 个Photo
- 情况会更糟。如何正确处理这种关系?
提前致谢!