django RawQuerySet 与QuerySet

使用orm查询,得到的结果类型是QuerySet,这种类型drf可以进行下一步处理,
使用原生sql查询,例如

UserInfo.objects.raw(sql,(params))

得到的结果类型是RawQuerySet,这种类型drf不能进行下一步处理,
那么问题来了,我既想要用原生sql查询,又要使用drf处理结果,怎么办?
二者结合咯。

看下图代码,select编写复杂的过滤条件
select = {
            'read_flag':'exists (select * from user_pro_notice  where user_id = %s and msg_id=pro_msg.id) '
        }
query = ProMsg.objects.filter(type=_type,project_id=project_id).extra(select=select,select_params=(user_id,)).order_by('-update_time')

你可能感兴趣的:(django)