gpt4 book ai didi

django - 使用带分页的通用 ListView。 Django

转载 作者:行者123 更新时间:2023-12-04 04:36:15 27 4
gpt4 key购买 nike

现在我在 views.py 中有以下代码:

class IndexView(generic.ListView):
model = Question
template_name = "qa_forum/index.html"
context_object_name = 'question_list'
paginate_by = 25

它的工作很好,但它检索 全部 数据库中的问题(包括封闭式和“ future ”问题)。

models.py我有以下经理:
class ActiveManager(models.Manager):
def get_query_set(self):
return super(ActiveManager, self).get_query_set(). \
.filter(pub_date__lte=timezone.now(), is_active=True
).order_by('-pub_date')

这有助于仅从数据库中获取事件问题。

但我不知道如何正确使用通用 ListView .

任何建议将不胜感激。

最佳答案

而不是实现 modelManager您可以设置 queryset on the ListView class如:

class IndexView(generic.ListView):
model = Question
template_name = "qa_forum/index.html"
context_object_name = 'question_list'
paginate_by = 25
queryset = Question.objects.filter(pub_date__lte=timezone.now(),
is_active=True).order_by('-pub_date')

如果你想去 modelManager方法,您可以将查询集设置为
    class IndexView(generic.ListView):
#if you have set manger as active_objects in Question model
queryset = Question.active_objects.filter()

关于django - 使用带分页的通用 ListView。 Django ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19705910/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com