Python Django Rest框架中的GET请求无法与响应JSON对象中的筛选器一起使用
Views.py 类用户点(ListAPIView): 或 序列化程序.py 类UserPointsSerializer(serializers.ModelSerializer): username=serializers.Field(source='User')Python Django Rest框架中的GET请求无法与响应JSON对象中的筛选器一起使用,python,json,django,django-views,django-rest-framework,Python,Json,Django,Django Views,Django Rest Framework,Views.py 类用户点(ListAPIView): 或 序列化程序.py 类UserPointsSerializer(serializers.ModelSerializer): username=serializers.Field(source='User') 当我以用户名作为参数发送get请求时,我想获取与特定用户关联的点。您需要调用。在序列化程序上是否有效() def get(self, request, pk, format=None): user_attributes = U
当我以用户名作为参数发送get请求时,我想获取与特定用户关联的点。您需要调用。
在序列化程序上是否有效()
def get(self, request, pk, format=None):
user_attributes = UserAttribute.objects.get(id=id)
serializer = UserPointsSerializer(data=user_attributes)
if serializer.is_valid():
return Response(serializer.data)
但是您不能使用is\u valid()
除非指定数据选项,否则必须是用户点序列化器(data=user\u attributes)
此代码是一个语法错误UserAttributes=self.get\u对象(id)
您不必将参数id放入self.get\u对象()因为它已经返回了具有请求id的对象实例,所以只能使用self.get\u object()
。我建议您使用retrieve(self,request,pk=None)
方法,而不是get(self,request):
如果您只调用一个实例。
def get(self, request, pk, format=None):
UserAttributes = self.get_object(id)
serializer = UserPointsSerializer(UserAttributes)
return Response(serializer.data)
class Meta:
model = UserAttributes
fields = [
'points',
]
def get(self, request, pk, format=None):
user_attributes = UserAttribute.objects.get(id=id)
serializer = UserPointsSerializer(data=user_attributes)
if serializer.is_valid():
return Response(serializer.data)