限制关系

时间:2020-02-10 08:29:58

标签: python-3.x sqlalchemy

我有两个表,即Order和OrderTransaction,其中Order to Order Transaction是一对多关系。我必须获取Order Transaction作为Order表中的关系。如何将订单交易的数量限制为特定数量(例如3),而不是提取订单的所有交易。

class Order(Base): 
     orderTransactions = relationship(
        "Order", uselist=True,
        lazy="joined"
    )

当我基于主键订单ID提取订单时,我只需要在orderTransactions关系中提取3个交易。我该如何实现?

1 个答案:

答案 0 :(得分:0)

解决上述问题的方法是将延迟加载作为动态加载。

class Order(Base): 
     orderTransactions = relationship(
        "Order", uselist=True,
        lazy="dynamic"
    )

由于我只需要提取3个订单交易,因此每当我需要订单交易时,我都会这样做。

transactions   = order.orderTransactions[0:3]