我将在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)
serializers.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')
除此之外,如果您在我的代码中看到了改进点,请给我提示
答案 0 :(得分:1)
您可以像这样覆盖查询集。有关更多信息,请参见docs。
generate: {
attempts: {type: Number, default: 0},
total: {type: Number, default: 0},
{timestamps: true}
},
verify: {
attempts: {type: Number, default: 0},
total: {type: Number, default: 0},
{timestamps: true}
}