ListView 下使用 get_queryset() 方法,为什么模型类的所有方法都不可用了?
来源:8-8 ListView开发所有问题页
 
			幕布斯3520075
2021-11-21
老师你好:
我在 ListView 下使用 get_queryset() 方法,为什么模型类的所有方法都不可用了?
模型类的字段全部都是可以调用的。
class QuestionListView(ListView):
    """ Question list page view """
    model = QuestionModel
    paginate_by = 100
    context_object_name = 'question_list'
    template_name = 'question/list.html'
    def get_queryset(self):
        super_queryset = super(QuestionListView, self).get_queryset()
        queryset = super_queryset.filter(status=QuestionModel.OPEN).values('title', 'viewed', 'slug', 'updated_at') \
            .order_by('-updated_at')
        return queryset
写回答
	2回答
- 
				  幕布斯3520075 提问者 2021-11-21 类似: get_absolute_url total_votes get_answers count_answers 模型类的方法都调用不出来,字段可以正常显示。 122021-11-22
- 
				  Jack 2021-11-23 你想对问题这样过滤 .filter(status=QuestionModel.OPEN).values('title', 'viewed', 'slug', 'updated_at') \ .order_by('-updated_at') 可以在模型类文件的QuestionQuerySets中写一个方法  然后重写querysets的时候这样子调用 你的写法中“super_queryset = super(QuestionListView, self).get_queryset()”这里是继承了原始的get_queryset()函数的功能,而不是重写。 042021-11-26
相似问题
 
						