From 3de843ab2c2ef8a89acd2a2a4fe1f1dd8891b5e0 Mon Sep 17 00:00:00 2001 From: Reigo Reinmets Date: Mon, 17 Jan 2022 13:23:37 +0200 Subject: [PATCH] Add eager-loading for orders. This allows access to trade.orders in all callbacks. --- freqtrade/freqtradebot.py | 2 -- freqtrade/persistence/models.py | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py index 5cbd25eea..8980fb91c 100644 --- a/freqtrade/freqtradebot.py +++ b/freqtrade/freqtradebot.py @@ -476,8 +476,6 @@ class FreqtradeBot(LoggingMixin): current_rate = self.exchange.get_rate(trade.pair, refresh=True, side="buy") current_profit = trade.calc_profit_ratio(current_rate) - # TODO: Is there a better way to force lazy-load? - len(trade.orders) min_stake_amount = self.exchange.get_min_pair_stake_amount(trade.pair, current_rate, self.strategy.stoploss) diff --git a/freqtrade/persistence/models.py b/freqtrade/persistence/models.py index 8eed60304..98a5329ba 100644 --- a/freqtrade/persistence/models.py +++ b/freqtrade/persistence/models.py @@ -729,7 +729,7 @@ class Trade(_DECL_BASE, LocalTrade): id = Column(Integer, primary_key=True) - orders = relationship("Order", order_by="Order.id", cascade="all, delete-orphan") + orders = relationship("Order", order_by="Order.id", cascade="all, delete-orphan", lazy="joined") exchange = Column(String(25), nullable=False) pair = Column(String(25), nullable=False, index=True)