mysql - Django Rest API:查看定义删除查询集
问题描述
我对在 Django Rest Framework 中创建视图仍然很陌生,我可以制作基本视图,但我仍然不知道定义,所以请在这里帮助我。
我有这个 View 可以得到问题的答案(通过给定的问题 ID)。列表定义完美运行,但是我想创建一个删除这些结果的 delete_all 函数。你可以在下面看到我想出的。
网址
router.register('manager/course/question/answers', QuestionAnswerView)
http://.../manager/course/question/answers/5 works.
http://.../manager/course/question/answers/delete_all/5 does not work.
看法
class QuestionAnswerView(viewsets.ModelViewSet):
queryset = QuestionAnswer.objects.all()
serializer_class = QuestionAnswerSerializer
# works
def list(self, request):
queryset = QuestionAnswer.objects.all()
if request.query_params:
question_id = request.query_params['question_id']
queryset = QuestionAnswer.objects.filter(question=question_id)
serializer = QuestionAnswerSerializer(queryset, many=True)
return Response(serializer.data)
# does not work
def delete_all(self, request):
if request.query_params:
question_id = request.query_params['question_id']
queryset = QuestionAnswer.objects.filter(question=question_id)
queryset.delete()
return Response('success')
解决方案
推荐阅读
- java - 如何存储和检索泛型类型
- spring-boot - org.hibernate.QueryException:在 [] 之前未索引 fromElement
- regex - 如何使用正则表达式替换子字符串中的特定字符?
- python - 无法使用 cpp 库初始化 pyarrow
- azure-databricks - 在 azure databricks 上将 spark 数据帧转换为 Delta 表 - 警告
- android - 如何在 Android ImageView 上制作彩色滤镜?
- c# - 在 ASP.NET MVC Core 中强制注销
- r - 如何将案例 ID 添加到列表中,直到它们的累积值达到 R 中的阈值?
- c# - 每 x 次移动一个游戏对象 x 次
- javascript - React 中的清除按钮清除输入但不重置数组元素