我认为这很可能是我的设置错误。但我真的找不到解决方案,大多数其他解决方案要么针对不同的案例,要么没有获得批准的真正解决方案。
class Person(Base):
id = Column(Integer, primary_key=True)
car_id = Column(Integer, ForeignKey("Car.id"))
car = relationship("Car", foreign_keys=[car_id], uselist=False)
class Car(Base):
id = Column(Integer, primary_key=True)
driver_id = Column(Integer, ForeignKey("Person.id"))
driver = relationship("Person", foreign_keys=[driver_id], uselist=False, back_populates="car")
passengers = relationship("Person", uselist=True, foreign_keys=[Person.id], back_populates="car")
我有一个类似上面的结构。当我尝试运行它时,我得到的是:ArgumentError: Person.car and back-reference Car.driver are both of the same direction symbol('MANYTOONE').
,我不明白,因为 Person.car
清楚地定义了 OneToOne
左右,我认为它确实如此。