我将使用 django 中的通用视图。我定义了serializer_class并重写了get_queryset()方法,但是有一个错误告诉我重写get_queryset()方法。我想知道我的覆盖方法是如何错误的,以及我必须做什么来解决该错误。这是我的代码。
views.py
from .models import arduino
from .serializers import arduinoToAndroidSerializers, arduinoToDatabaseSerializers
from rest_framework.viewsets import ViewSet
from rest_framework.response import Response
from rest_framework.generics import ListCreateAPIView
class arduinoToAndroidViewSet (ViewSet) :
def dataSend (self, request) :
user = self.request.user
queryset = arduino.objects.filter(name=user)
serializer = arduinoToAndroidSerializers(queryset, many=True)
return Response(serializer.data)
class arduinoToDatabaseViewSet (ListCreateAPIView) :
serializer_class = arduinoToDatabaseSerializers
def dataReceive (self, request) :
user = self.request.user
queryset = self.get_queryset()
queryset = arduino.objects.filter(queryset, name=user)
serializer = arduinoToDatabaseSerializers(queryset, many=True)
return Response(serializer.data)
序列化器.py
class arduinoToAndroidSerializers (serializers.ModelSerializer) :
name = serializers.CharField(source='name.username')
class Meta :
model = arduino
fields = ('name', 'temp', 'humi')
class arduinoToDatabaseSerializers (serializers.ModelSerializer) :
class Meta :
model = arduino
fields = ('temp', 'humi')
除此之外,如果您在我的代码中发现改进点,请给我提示
您可以像这样覆盖查询集。请参阅此处docs https://www.django-rest-framework.org/api-guide/generic-views/了解更多信息。
class arduinoToDatabaseViewSet (ListCreateAPIView) :
serializer_class = arduinoToDatabaseSerializers
def get_queryset(self) :
user = self.request.user
return arduino.objects.filter(name=user)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)