Как сделать так, чтобы модель backend_model была связана с моделью Django
У меня есть модель тикера -
class Ticker(models.Model):
    symbol = models.CharField(max_length=50, primary_key=True)
    company_name = models.CharField(max_length=50)
    def __str__(self) -> str:
        return f'{self.symbol}-{self.company_name}'
И
class Model(models.Model):
    ticker = models.ForeignKey(Ticker, on_delete=models.CASCADE)
    test_loss = models.FloatField(null=True)
    def __str__(self) -> str:
        return f'{self.ticker.symbol}'
Я хочу добавить эту функцию в Модель -
def predict(self, pred_date):
    return self.backend_model.predict(pred_date)
Где -
self.backend_model = LstmModel(symbol)
Как мне добавить это backend_model к Model? 
Вот решения, о которых я подумал -
- Have a custom Model Manager.
 - Override 
save()method of Model. - Add a 
classmethodto Model 
Какой из них я должен использовать, или если кто-то может предложить лучший способ?
Я не тестировал это, так что это может не сработать здесь и там. Имейте в виду, что это должно (1) привести к тому, что запуск вашего сервера займет некоторое время (2) вам придется перезагрузить сервер для обновления реестра, среди прочих проблем. Используйте это на свой страх и риск ;)
Вы можете определить реестр где-нибудь в своем проекте следующим образом:
class LstmModelRegistry:
    def __init__(self):
        self._registry = {} 
    def register(self, symbol):
        self._registry[symbol] = LstmModel(symbol)
    def get_service_by_symbol(self, symbol):
        service = self._registry.get(symbol)
        if not service:
            raise Exception('Unknown service')
        return service
lstm_registry = LstmModelRegistry()
Затем в одной из конфигураций вашего приложения вы можете сделать что-то вроде этого:
class SomeAppConfig(AppConfig):
    def ready(self):
        from path.to.lstm.registry import lstm_registry
        from path.to.ticker.model import Ticker
        symbols = list(Ticker.objects.values_list('symbol', flat=True))
        for symbol in symbols:
            lstm_registry.register(symbol)
Это загрузит реестр, затем построит модели lstm, получив все символы из модели Ticker. Затем вы можете определить свою модель следующим образом:
from path.to.lstm.registry import lstm_registry
class Model(models.Model):
    ...
    def predict(self, pred_date):
        return lstm_registry.get_service_by_symbol(self.ticker.symbol).predict(pred_date)
Это, в свою очередь, должно просто запускать predict без дорогостоящей LstmModel нагрузки, когда вы обслуживаете запрос.