我有一个相当复杂的查询集,目前我在单个视图中使用它来获取对象列表。
我想在其他几个视图中使用相同的查询集,但不想多次复制代码。我可以使用Manager将查询集保留在一个位置,并在每个视图中使用它,除了查询依赖于每个页面上不同的日期。
据我所知,管理器不允许您传递变量...所以我想知道我应该把这个查询放在哪里,以便不在多个视图中重复它。有什么想法吗?
顺便说一句,这是我的查询集,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',)
get_queryset
而不是get_query_set
。 - jozxyqk