Mam queryset, który jest dość skomplikowany, który obecnie używam w jednym widoku do uzyskania listy obiektów.Gdzie umieścić typowe zapytania w Django?
Chcę użyć tego samego zestawu pytań w kilku innych widokach, ale wolałbym nie kopiować kodu kilka razy. Mógłbym użyć Menedżera, aby zachować zestaw zapytań w jednym miejscu i używać go w każdym widoku, z wyjątkiemzapytanie polega na dacie, która jest inna na każdej stronie.
Jak rozumiem, menedżerowie nie pozwalają przekazywać zmiennych ... więc zastanawiam się, gdzie powinienem umieścić to zapytanie, aby nie powtarzać go w kilku widokach. jakieś pomysły?
FWIW, to moja queryset i published_date jest zmienną, która zmienia się na każdej stronie:
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',)
Doh, oczywiście, dzięki. Zostałem odrzucony przez dokumentację, która nie sugerowała, że można przekazywać wartości do funkcji menedżera. Powinienem po prostu tego spróbować! –
Musiał użyć 'get_queryset' zamiast' get_query_set'. – jozxyqk