django - 在 Django Rest 中覆盖 get 方法时出错
问题描述
我是 Django Rest 框架的新手。在我的工作中,有人建议我在现有项目中工作并即时学习 Rest Framework。get_queryset
所以我正在编写一个api来显示带有方法和方法的车辆列表get
。我可以使该get_queryset()
方法起作用,但该get()
方法不起作用(我假设某种语法错误)。
工作代码:
class VehicleList(ListAPIView):
permission_classes = (AllowAny,)
serializer_class = FleetVehicleSerializer
def get_queryset(self):
domain = self.request.META.get('HTTP_DOMAIN', None)
if domain is None:
raise Exception("Domain is missing in request header")
qs = FleetVehicle.objects.using(domain).all()
return qs
不工作的代码:
class VehicleList(ListAPIView):
permission_classes = (AllowAny,)
serializer_class = FleetVehicleSerializer
def get(self, request):
domain = self.request.META.get('HTTP_DOMAIN', None)
if domain is None:
raise Exception("Domain is missing in request header")
vehicles = FleetVehicle.objects.using(domain).all()
return Response({'a': vehicles},status=status.HTTP_200_OK, content_type = 'application/json' )
输出应该是一个json,我正在邮递员中测试api。谁能帮我解决可能的语法错误?
解决方案
def get(self, request):
domain = self.request.META.get('HTTP_DOMAIN', None)
if domain is None:
raise Exception("Domain is missing in request header")
vehicles = FleetVehicle.objects.using(domain).all()
data = FleetVehicleSerializer(vehicles,many=True)
return Response({'a': data.data},status=status.HTTP_200_OK, content_type = 'application/json' )
好吧,根据您在get
我给出解决方案的方法中遇到的错误。
推荐阅读
- r - 在 R 中,如何提取矩阵维度名称(或标签)并在另一个向量中列出这些名称?
- django - Django中基于条件的不同URL
- amazon-web-services - AWS lambda 容器 /bin/sh 错误:运行时已退出而未提供原因”
- javascript - 如何阻止按钮不是针对浏览器中的特定会话,而是针对特定登录用户 10 秒?
- scheduled-tasks - 电子邮件不使用 Laravel 8 中计划的任务发送
- r - 如何使 LaTeX 包在 rmarkdown 中可用?
- powershell - 用于检查文件是否包含重复项的 Powershell 脚本
- python - 如何在没有循环的范围内查找数字的倍数?
- node.js - 创建反应应用程序 npx 创建反应应用程序失败
- java - Java 11 怎么可能验证中间证书在 cacerts 中不可用的证书?