Python 如何发送查询集抛出超级方法?

Python 如何发送查询集抛出超级方法?,python,django,django-rest-framework,Python,Django,Django Rest Framework,我尝试将log属性发送到super-get函数并列出所有日志,尽管我需要在BasicQUserSerializer上运行的过滤器 这是我的视图集: class CustomerLogView(generics.ListAPIView): permission_classes = (AllowAny,) queryset = QUser.objects.all() serializer_class = BasicQUserSerializer filter_backends = [Ordering

我尝试将log属性发送到super-get函数并列出所有日志,尽管我需要在
BasicQUserSerializer
上运行的过滤器

这是我的视图集:

class CustomerLogView(generics.ListAPIView):
permission_classes = (AllowAny,)
queryset = QUser.objects.all()
serializer_class = BasicQUserSerializer
filter_backends = [OrderingFilter]
pagination_class = AdvancedPagination

  def get(self, request, *args, **kwargs):
    account = get_object_or_404(Account, pk=kwargs['pk'])
    log =CustomerLogSerializer(LogEntry.objects.filter(account=account), many=True).data
    return super().get(request, *args, **kwargs,)
序列化程序:

class CustomerLogSerializer(serializers.ModelSerializer):
actor = BasicQUserSerializer()

class Meta:
    model = LogEntry
    fields = ('id', 'actor', 'account', 'changes', 'remote_addr', 'additional_data','timestamp')

我怎样才能做到这一点呢?

也许你不能按照你在问题中提到的方式做到这一点。如果您想查看所有日志,为什么不为此添加一个

class CustomerLogSerializer(serializers.ModelSerializer):
    actor = BasicQUserSerializer()
    logs = serializers.SerializerMethodField()

    class Meta:
        model = LogEntry
        fields = ('id', 'actor', 'account', 'changes', 'remote_addr', 'additional_data','timestamp')

    def get_logs(self, obj):
       return CustomerLogSerializer(LogEntry.objects.filter(account=obj.account), many=True).data

你的问题不清楚。你想用这个日志变量做什么?我想把它作为一个参数发送给super get方法来列出日志,目前我正在列出BasicQUserSerializer,但我想列出日志,而不是“将它作为一个参数发送给super get方法”这一点我不明白。你希望这种方法对它有什么作用?如果您想列出日志,为什么首先要将serializer类设置为BasicQUserSerializer而不是CustomerLogSerializer?BasicQUserSerializer位于CustomerLogSerializer内部,我想根据用户进行订购,但我想列出日志,这就是为什么我要将serializer类设置为BasicQUserSerializer