【发布时间】:2011-05-31 07:38:06
【问题描述】:
我有一个相当复杂的查询集,我目前在单个视图中使用它来获取对象列表。
我想在其他几个视图中使用相同的查询集,但不希望只是多次复制代码。我可以使用管理器,将查询集保存在一个地方,并在每个视图中使用它除了,查询依赖于每个页面上不同的日期。
据我了解,经理不允许您传递变量......所以我想知道我应该把这个查询放在哪里,以免在几个视图中重复它。有什么想法吗?
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',)
【问题讨论】: