我有一个相当复杂的查询集,我目前在单个视图中使用它来获取对象列表.
我想在其他几个视图中使用相同的查询集,但不希望多次复制代码.我可以使用管理器,将查询集保存在一个地方,并在每个视图中使用它,除了查询依赖于每个页面上不同的日期.
据我了解,管理员不允许你传递变量...所以我想知道我应该把这个查询放在哪里,以免在几个视图中不断重复它.有什么想法吗?
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',)
Run Code Online (Sandbox Code Playgroud)