Куда помещать общие запросы в Django?

У меня есть достаточно сложный набор запросов, который я сейчас использую в одном представлении для получения списка объектов.

Я хочу использовать тот же набор запросов в нескольких других представлениях, но предпочел бы не копировать код несколько раз. Я мог бы использовать диспетчер, чтобы хранить набор запросов в одном месте, и используйте это в каждом представлении , кроме , запрос основан на дате, которая отличается на каждой странице.

Насколько я понимаю, менеджеры не позволяют вам передавать переменные ... так что я интересно, где мне поместить этот запрос, чтобы не повторять его в нескольких представлениях. Есть мысли?

FWIW, это мой набор запросов, а published_date - переменная, которая изменяется на каждой странице:

day_publications = Publication.objects.filter(
        Q(reading__end_date__gte=published_date) | Q(reading__end_date__isnull=True),
        reading__start_date__lte=published_date,
).select_related('series',)
5
задан Phil Gyford 27 December 2010 в 20:57
поделиться