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

Примеры моделей 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)

Вроде заработало после предварительного тестирования. Жду более информированных мнений.

Другие вопросы по тегам