Python Django:如何在ModelViewSet中返回单个对象(而不是数组)?

Python Django:如何在ModelViewSet中返回单个对象(而不是数组)?,python,django,django-rest-framework,Python,Django,Django Rest Framework,我想从我的轮廓模型中得到一个对象。如果我使用下面这样的过滤方法,这将非常有效。但是,它返回一个包含单个对象的数组。我想要的只是对象,而不是列表/数组中的对象。当我使用get_object函数时,我得到一个错误,即我无法在ModelViewSet中使用它 因此,我想知道如何在使用ModelViewSet时从模型中获取单个对象 class ProfileViewSet(viewsets.ModelViewSet): permission_classes = [ permissions.I

我想从我的轮廓模型中得到一个对象。如果我使用下面这样的过滤方法,这将非常有效。但是,它返回一个包含单个对象的数组。我想要的只是对象,而不是列表/数组中的对象。当我使用
get_object
函数时,我得到一个错误,即我无法在ModelViewSet中使用它

因此,我想知道如何在使用ModelViewSet时从模型中获取单个对象

class ProfileViewSet(viewsets.ModelViewSet):
  permission_classes = [
    permissions.IsAuthenticated, 
  ]
  serializer_class = ProfileSerializer

  queryset = Profile.objects.all()

  def get_queryset(self):
    if self.action == 'list':
        return self.queryset.filter(user=self.request.user)
    return self.queryset


get\u queryset
应该返回一个queryset,而不是一个对象,这样才能正常工作。@VishalSingh。我想知道是否可以覆盖“get_queryset”以获取单个对象?可以覆盖并返回单个对象而不是queryset,但这将破坏整个视图集的工作。好吧!谢谢,你为什么要这样做?您总是可以在
get\u queryset()
中使用例如
[:1]
来将查询集限制为仅一项,但我很好奇为什么。
get\u queryset
应该返回一个查询集而不是单个对象才能正常工作。@VishalSingh确切地说。我想知道是否可以覆盖“get_queryset”以获取单个对象?可以覆盖并返回单个对象而不是queryset,但这将破坏整个视图集的工作。好吧!谢谢,你为什么要这样做?您总是可以在
get\u queryset()
中使用例如
[:1]
来限制查询集仅限于一项,但我很好奇为什么。