[英]SQLAlchemy primaryjoin returns emtpy object for one-to-many relation
我的表定義為:
class Car(Base):
__tablename__ = 'cars'
CarID = Column('id', Integer, primary_key=True)
CarDetails = relationship(
"CarDetails",
back_populates="Car",
primaryjoin="and_(CarDetails.CarID == Car.CarID, CarDetails.CarNumber == 1)",
)
CustomCarDetails = relationship(
"CarDetails", back_populates="Car", uselist=True)
class CarDetails(Base):
__tablename__ = 'car_details'
ID = Column('id', Integer, primary_key=True)
CarNumber = Column('car_number', Integer, default=1)
CarID = Column('table_id', Integer, ForeignKey(
'tables.id'), nullable=False)
Car = relationship("Car", back_populates="CustomCarDetails")
汽車:CarDetails遵循一對多關系。 在CarDetails列(在 Car 中),我想為相應的 Car 填充CarNumber=1的條目。 根據上面的定義,我得到空的 object。我也提到了這個。 我在這里錯過了什么?
當我將其定義如下時,CarDetails 從 CarDetails 返回一個隨機條目(可能返回CarNumber != 1的記錄),而我只想要對應於CarNumber=1的條目:
CarDetails = relationship(
"CarDetails",
back_populates="Car",
uselist=False)
我怎樣才能解決這個問題?
添加uselist=False在這里工作:
CarDetails = relationship(
"CarDetails",
back_populates="Car",
primaryjoin="and_(CarDetails.CarID == Car.CarID, CarDetails.CarNumber == 1)",
uselist=False
)
我在文檔中找不到這個!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.