RSS-канал Django: есть ли способ кэшировать отношения M2M для отображения в item_title?

#django #django-rss #django-syndication

#django #django-rss #django-синдикация

Вопрос:

Примеры моделей Author и Book связаны через M2M. Я нашел способ кэшировать отношения в items , но это не очень помогает, потому что мне нужно отобразить некоторую информацию о Author в Book ленте:

 def item_title(self, item):
    return f"{item.author_set.first().name} released {item.title}"
  

Есть ли способ как-то кэшировать отношения M2M здесь?

Ответ №1:

Может ли это быть так просто, как это?

 def items(self, obj):
    …
    self.some_custom_dict = {x.id: x for x in releases}

def item_title(self, item):
    cached_with_relationship = self.some_custom_dict.get(item.id)
  

Кажется, это работает после предварительного тестирования. Ждем более обоснованных мнений.