Add eager-loading for orders. This allows access to trade.orders in all callbacks.

This commit is contained in:
Reigo Reinmets 2022-01-17 13:23:37 +02:00
parent 8d67caafb3
commit 3de843ab2c
2 changed files with 1 additions and 3 deletions

View File

@ -476,8 +476,6 @@ class FreqtradeBot(LoggingMixin):
current_rate = self.exchange.get_rate(trade.pair, refresh=True, side="buy") current_rate = self.exchange.get_rate(trade.pair, refresh=True, side="buy")
current_profit = trade.calc_profit_ratio(current_rate) 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, min_stake_amount = self.exchange.get_min_pair_stake_amount(trade.pair,
current_rate, current_rate,
self.strategy.stoploss) self.strategy.stoploss)

View File

@ -729,7 +729,7 @@ class Trade(_DECL_BASE, LocalTrade):
id = Column(Integer, primary_key=True) 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) exchange = Column(String(25), nullable=False)
pair = Column(String(25), nullable=False, index=True) pair = Column(String(25), nullable=False, index=True)