使用分页和原始查询时发生Django错误

2024-10-03 23:19:58 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图将分页添加到我的页面时,会出现错误object of type 'RawQuerySet' has no len() 观点:

class StudentmessageListView(ListView, LoginRequiredMixin):
    login_url = '/login/'
    redirect_field_name = 'redirect_to'
    template_name = 'student_messagesall.html'
    context_object_name = 'messages_all'
    model = Message
    paginate_by = 3

    def get_queryset(self):
        return Message.objects.raw('SELECT * FROM ertaapp_message where to_prof_id=%s ORDER BY create_date DESC',[self.request.user.id])

    def get_context_data(self, **kwargs):
        context = super(StudentmessageListView, self).get_context_data(**kwargs)
        context['reps'] = ReplyMessage.objects.raw('SELECT * FROM ertaapp_replymessage')
        return context

我怎么解决这个问题?在


Tags: tonameselfmessagegetrawreturnobjects
1条回答
网友
1楼 · 发布于 2024-10-03 23:19:58

您应该返回列表而不是原始查询集。在

def get_queryset(self):
    return list(Message.objects.raw('SELECT * FROM ertaapp_message where to_prof_id=%s ORDER BY create_date DESC',[self.request.user.id]))

相关问题 更多 >