细化api文集获取参数和文集管理url

This commit is contained in:
yangjian 2020-05-31 20:50:34 +08:00
parent ef634499ad
commit 86e41c4981
2 changed files with 21 additions and 2 deletions

View File

@ -100,6 +100,25 @@ class ProjectView(APIView):
# 获取文集
def get(self,request):
pro_id = request.query_params.get('id',None)
range = request.query_params.get('range',None)
# 获取自己的文集创建的、协作的文集列表
if range == 'self':
colla_list = [i.project.id for i in ProjectCollaborator.objects.filter(user=request.user)] # 用户的协作文集列表
project_list = Project.objects.filter(
Q(create_user=request.user) | \
Q(id__in=colla_list)
)
page = PageNumberPagination() # 实例化一个分页器
page_projects = page.paginate_queryset(project_list, request, view=self) # 进行分页查询
serializer = ProjectSerializer(page_projects, many=True) # 对分页后的结果进行序列化处理
resp = {
'code': 0,
'data': serializer.data,
'count': project_list.count()
}
return Response(resp)
# 存在文集ID返回指定的文集
if pro_id:
resp = dict()
# 获取文集信息
@ -146,7 +165,7 @@ class ProjectView(APIView):
serializer = ProjectSerializer(project)
resp = {'code': 0, 'data': serializer.data}
return Response(resp)
# 否则,根据查询条件返回文集列表
else:
kw = request.query_params.get('kw', '') # 搜索词
sort = request.query_params.get('sort', 0) # 排序,0表示按时间升序排序1表示按时间降序排序默认为0

View File

@ -9,7 +9,7 @@ urlpatterns = [
path('get_pro_doc/', views.get_pro_doc, name="get_pro_doc"), # 获取某个文集的下级文档
path('get_pro_doc_tree/', views.get_pro_doc_tree, name="get_pro_doc_tree"), # 获取某个文集的下级文档树数据
path('modify_pro/',views.modify_project,name='modify_project'), # 修改文集
path('manage_project',views.manage_project,name="manage_project"), # 管理文集
path('manage_project/',views.manage_project,name="manage_project"), # 管理文集
path('del_project/',views.del_project,name='del_project'), # 删除文集
path('report_project_md/',views.report_md,name='report_md'), # 导出文集MD文件
path('genera_project_file/',views.genera_project_file,name='genera_project_file'), # 个人中心生成文集文件epub\docx\pdf等