в моем случае немного сложнее
posts = Post.objects.filter(id__in=[1,2,3,4,5])
вместо этого, сравнение двух запросов
self.key0 = M1.obejects.filter(sel=1).values_list('type', flat=True).distinct()
self.key = M2.obejects.filter(id__in=self.key0)
далее словарь с данными, которые меняются в разных вьюхах
def get_any(self):
return [{
'title': 'Каталог',
'key': self.key, здесь список экземпляров модели, в другом случае может быть 'key': 'просто слова',
}]
Каждый из словарей живет своей жизнбю и используется в разныз местах шаблона, Title скажем это имя страницы, Key может быть хлебными крошками и т.д