J'ai un jeu de requête raisonnablement compliqué, que j'utilise actuellement dans une seule vue pour obtenir une liste d'objets.Où mettre des requêtes communes dans Django?
Je souhaite utiliser le même jeu de requête dans plusieurs autres vues, mais je préfère ne pas simplement copier le code plusieurs fois. Je pourrais utiliser un gestionnaire, pour garder le jeu de queues dans un endroit, et l'utiliser dans chaque vue sauf la requête repose sur une date qui est différente sur chaque page. Si je comprends bien, les gestionnaires ne vous laissent pas passer des variables ... donc je me demande où je devrais mettre cette requête pour ne pas la répéter dans plusieurs vues. Des pensées?
FWIW, ceci est mon queryset et published_date est la variable qui change sur chaque page:
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, bien sûr, merci. J'ai été découragé par la documentation ne suggérant pas que vous pouviez transmettre des valeurs aux fonctions Manager. J'aurais dû l'essayer! –
A dû utiliser 'get_queryset' au lieu de' get_query_set'. – jozxyqk